实体框架4代码优先的利弊

9 entity-framework code-first entity-framework-4

我想知道使用EF4 Code-First方法的优缺点.我们可以复制EF4生成的类提供的所有功能,如延迟加载,加载相关实体等吗?

谢谢

Bik*_*Lem 7

优点

  1. 轻量级实体类或基于POCO.
  2. 因为您自己编写代码而不是依赖EF来生成实体类,所以可以更好地控制实体类.这意味着您不必定义部分类来执行数据注释.
  3. 永远不必在任何地方指定映射的选项.公约接管配置.
  4. DbContext遵循存储库模式.
  5. 延迟加载,相关实体加载所有照顾你.例如,Post模型可以在POCO中声明Author模型,EF Code会首先自动映射此关系.再次使用惯例使我们如此富有成效.
  6. 适用于绿地应用.
  7. ASP.NET MVC视图生成效果很好.
  8. ModelBinder正常工作.

缺点

  1. 没有API支持自定义数据库映射约定,如Fluent nHibernate.
  2. 有点难以映射到现有数据库.(这可能会在发布版本中发生变化).

有关示例代码和使用EF 4.0 Code First映射到现有数据库,请参阅此博客文章. http://theminimalistdeveloper.com/2010/07/28/how-to-map-pocos-to-existing-databases-in-entity-framework-4-0-code-first-and-asp-net-mvc- 2 /