带有 Ntier 的实体框架

Posted

技术标签:

【中文标题】带有 Ntier 的实体框架【英文标题】:Entity Framework with Ntier 【发布时间】:2011-08-08 10:03:31 【问题描述】:

我刚开始学习实体框架,如果我使用 EF 作为我的 DataAccess 类,是否还需要在我的解决方案上创建业务逻辑和 Poco 模型项目?

在我的应用程序中,我最近使用 ADO.NET 将项目创建为 DataAccess、BusinessLogic、PocoModel(entities) 和 Ui(windows app) 等层。

在 vs 2008 上使用 EF 作为我的开发工具是否与 vs 2010 几乎相同?

感谢您的问候

【问题讨论】:

如果您可以选择,请使用 EF 4(随 Visual Studio 2010 提供的版本)。与旧版本相比,它有很多改进。您可能还想查看这篇文章:msdn.microsoft.com/en-us/magazine/ee335715.aspx 我还是要用vs 2008.. :( 您使用的是 SQL 数据库吗?您是在开发代码优先还是数据库优先?您是否手动创建 POCO 类并允许 Entity Framework 处理数据访问? 【参考方案1】:

VS 2008 x VS 2010 有很大的不同,因为只有 VS 2010 支持 Entity Framework 4,并且只有 Entity Framework 4 具有对 POCO 的原生支持。如果您想使用 Entity Framework 1 (.NET 3.5 SP1 + VS 2008) 和 POCO,您必须使用 EntityObjects(严重依赖 EF)并手动将它们转换为 POCO 或使用 the adapter。 EFv1 中的EntityObjects 必须在与 EDMX(实体模型)相同的程序集中定义。

如果您不使用 POCO,您可以将数据访问和业务逻辑放在同一个程序集中并从 UI 中引用它。如果您使用 POCO,则可以坚持使用您的架构。

【讨论】:

以上是关于带有 Ntier 的实体框架的主要内容,如果未能解决你的问题,请参考以下文章

带有实体框架的自定义函数

带有实体框架的 MVC 下拉列表

带有 MySQL 的实体框架

带有 XML 文件的实体框架 [关闭]

带有“不在”的实体框架查询

使用带有代码优先的实体框架,没有自动增量