我刚刚开始使用实体框架,我对业务层中的类通常如何与实体框架创建的实体相适应感到困惑。
在使用经典的 ADO.NET 时,我将有一个名为 Customer 的类,然后是另一个名为 DALCustomer 的类来处理数据库交互,在这种结构中,我将代码用于计算、过滤和删除 DAL withing 的实例Customer 用于在 Customer 类中保存、更新和删除。
使用实体框架,如果您有一个名为 Customer 的表,实体框架会创建一个名为 Customer 的实体,这就是我开始困惑的地方,这个实体是否消除了业务层中对 Customer 的需求?那么本质上,通常在业务层中的所有字段和方法都在实体框架生成的实体中?还是应该在业务层中仍然存在一个名为 CustomerBL 的类,例如,它仍然包含完成计算、过滤所需的业务逻辑所需的字段和方法,并且仍然需要声明的 EF DAL 实例来处理数据访问?
如果应该有一个业务类,在这种情况下是 CustomerBL,另一个问题会跳到脑海中,是否应该在 CustomerBL 中重新创建在客户实体中创建的字段,或者是否应该在 CustomerBL 中声明客户实体的实例,这样就会有不需要在 2 个位置声明字段?