实体框架代码优先使用现有数据库时的好处

时间:2011-01-14 12:17:26

标签: c# entity-framework sql-server-2008 code-first

刚开始研究实体框架和新的Code-First功能。我的问题是:如果我正在启动应用程序并使用现有数据库,那么与使用EF为我映射所有类相比,Code-First方法的好处是什么?

1 个答案:

答案 0 :(得分:4)

Code-First,顾名思义,旨在允许您从Code开始并从中生成数据存储(通常是数据库模式)。如果你有一个现有的数据库,那么我会说你的选择是使用提供的工具自动生成实体,或者从POCO(Plain Old CLR Objects)开始,然后映射到你的数据库。关于哪个和哪个不幸导致年龄老的回答“它取决于”。

如果现有的数据库架构很好地反映了实体图形,并且您不希望在应用程序之外传递大量实体,那么自动生成可能是一个很好的起点。特别是如果你是EF的新手。

如果您希望创建大量聚合实体,请使用继承和/或在流程之间传递大量实体,那么POCO可能是您的最佳起点。

我的例子远非全面或明确的,所以要了解这些方法,然后看看感觉是对的。无论你决定什么,你都可以比阅读Julie Lerman的书“Programming Entity Framework”做得更糟。第二版涵盖了EF4。