当我执行创建 .edmx 文件的数据库优先方法时,我对 VS.NET 2012 中的 EF5 发生的事情有点困惑。我感到困惑的原因是因为关于 EF 4.x 的信息太多了,以至于我相信很多与 EF5 相关的信息都不准确。
在 EF4 中,要使用具有数据库优先方法的 POCO,需要创建 POCO 类,并确保设置Code Generation Strategy = None。然后创建一个单独的“实体”类,该类继承自“ObjectContext”,该类具有我们的 POCO 类的知识,可与 EF 一起使用。
在带有 VS.NET 2012 的 EF5 中,当我使用数据库优先方法时,Code Generation Strategy = None is already set,并且由默认 T4 模板生成的结果类似乎已经为我创建了 POCO 类。ObjectContext
结果类在or上没有继承DBContext
。这是默认情况下将自动生成的实体创建为 POCO 类的方式吗?
如果答案是“是”,我实际上非常喜欢。我的主要问题是,我可以将那些 POCO 类拉到另一层吗?现在它们显示在“MyModel.tt”下,所以如果我删除它们,我想如果我更新模型,任何更改都不会反映,对吗?
谢谢!