我有一个使用三层架构的ASP.NET (C#)项目。在DAL中,我开始使用Entity Framework,问题是生成的Entity Framework类在业务逻辑层中可以使用到什么程度?
直接使用它们是否是个好主意,还是应该创建自己的业务对象并从Entity Framework进行映射(db->O/RM->BOs)?
我有一个使用三层架构的ASP.NET (C#)项目。在DAL中,我开始使用Entity Framework,问题是生成的Entity Framework类在业务逻辑层中可以使用到什么程度?
直接使用它们是否是个好主意,还是应该创建自己的业务对象并从Entity Framework进行映射(db->O/RM->BOs)?
生成的类作为您的业务对象使用应该是合理的。生成的类是partial类型,因此您可以根据需要轻松扩展它们。但有时我认为使用接口更好。
我刚开始使用 EF 2.0(在 .Net 4.0 beta 2 中),它具有使用 POCO 类作为 EF 实体的功能。也就是说,你现在可以在 EF 2 中使用持久化无知类。
我认为这还没有完全准备好,因为在使用 Visual Studio 2010 beta 2 进行工作时,我无法遵循 PDC 2009 的演示,但请继续关注 ADO.Net 团队博客,以获取更多信息。
您可能想要查看Entity Framework的持久性无关(POCO)适配器。这是EF团队成员的开源项目,为EF 1.0带来了POCO支持。EF 4.0将在开箱即用时具有POCO支持,但该项目可作为过渡措施,直到.NET 4.0于2010年发布。