在业务逻辑层中使用Entity Framework生成的类

Sor*_*ohi 6 c# entity-framework business-logic-layer business-objects

我有一个使用三层架构的ASP.net(C#)项目.我开始在我的DAL中使用Entity Framework,问题是Entity Framework生成的类在业务逻辑层中可以使用的程度是多少?

最好直接使用它们,还是应该创建自己的业务对象并从Entity Framework(db-> O/RM-> BOs)映射到它们?

G-W*_*Wiz 5

在我看来,EF对象将映射到您的对象.这具有较高的开发成本,但具有持久性无知和解耦的额外好处.如果业务需要切换到不同的持久性解决方案,那么从长远来看,这种分离可以转化为显着的敏捷性和真实世界的节省.如果没有解耦,EF对象可以深深嵌入BLL甚至表示层,需要进行大量重构.在这种情况下,企业可能甚至不考虑切换持久性解决方案,这可能导致业务竞争力下降.

以较高的开发成本获得此收益的决定取决于企业愿意承担的风险程度.我建议您咨询项目专员,并用最好的判断以技术方式解释他们的战略目标.

  • EF生成的类被设计为可扩展的并用作业务对象.如果你不喜欢它,你应该改变orm或等待代码只有EF 4.添加其他对象只是感觉不对.首先是DB,然后是ORM类,然后是BO,然后查看模型.似乎很多. (2认同)