【发布时间】:2012-09-23 06:45:41
【问题描述】:
我在每个项目中的基本解决方案结构是:
- Dal - 数据访问层
- 业务逻辑分为两部分,一是业务实体,二是业务逻辑
所以在我目前的实践中,我的实体只包括数据成员和属性,而不包括 CRUD 操作。 将 CRUD 操作放在 Entity 中总是感觉不对。我的想法是..
- 哪个实体删除自己没问题?
- 可以添加哪个实体 自己去数据库?
所以我将 CRUD 操作移到了另一个库(类),它代表了我的业务逻辑。
例如,假设我们有一个 foo 实体
public class Foo
{
//Data Members
private int _id;
private string _Name;
//Properties
public int ID { get; set; }
public string Name { get; set; }
}
所以对于这个实体,我将创建一个包含所有 CRUD 操作的 FooLogic 库(类),例如:
- 添加新实体
- 删除实体
- 获取实体列表
- 更新实体 等等……
所以我要问的是:
- 不将CRUD操作放在实体对象中是正确的做法吗?
- 如果是这样,我当然应该在“打印详细信息”旁边的实体中放入什么方法
- 每个重要实体都有业务逻辑库(类)可以吗?
【问题讨论】:
标签: asp.net projects-and-solutions crud