据我所知(如果我错了请纠正),使用Entity Framework有两种主要方法:
- Model First:从预定义的数据库开始,让EF为您创建代码。
- Code First:编写代码,让EF为您创建数据库。
我认为您需要决定您的参考系统是什么 -- 代码(Code First)还是数据库(Model First)。如果您已经有了一个现有的数据库,那么采用 Code First 方法,要想在不从代码或模型中生成模型的情况下保持更改同步是很困难的。
如果您已经有了一个现有的数据库,但想要将模型扩展到生成的代码之外,那么您可以实现部分类来完成这个任务。
如果您想要手动映射 EF4 代码和数据库,您可以考虑 this approach。然而,这会消除 ORM 的一些好处,即为您设置映射。
在这种情况下,我想你不能两全其美 - 必须有一个明确的来源来确定你的模型,它可以是数据库(DB first),然后为你生成匹配的代码,或者是代码(Code first),然后创建匹配的数据库。