【发布时间】:2012-01-11 18:58:13
【问题描述】:
我已经阅读了 POCO(普通旧 CLR(或 C#)对象)here,但对它的用法感到困惑。
如果我可以使用 Code First 方法,那么我需要创建 .edmx 文件吗? 没有它,我如何使用 poco 和代码优先的方法?
如果我在这种情况下理解错误,请纠正我!
谢谢。
【问题讨论】:
标签: asp.net-mvc-3 c#-4.0 entity-framework-4
我已经阅读了 POCO(普通旧 CLR(或 C#)对象)here,但对它的用法感到困惑。
如果我可以使用 Code First 方法,那么我需要创建 .edmx 文件吗? 没有它,我如何使用 poco 和代码优先的方法?
如果我在这种情况下理解错误,请纠正我!
谢谢。
【问题讨论】:
标签: asp.net-mvc-3 c#-4.0 entity-framework-4
EF 中的 POCO 是一个不依赖于 EF 的实体类 = 它不派生自 EF 特定类 (EntityObject) 并且不包含 EF 相关代码(包括 EF 特定属性)。
代码首先总是使用 POCO(就 EF 而言),因为您自己编写类,它不需要从任何 EF 特定的父类派生。极端情况是您使用数据注释进行映射的情况,因为某些数据注释仅在 EntityFramework.dll 程序集中可用 - 使用这些注释违反 POCO,因为您的实体类将依赖于 EF 程序集。
【讨论】:
您不需要先包含代码的 edmx 文件。代码优先意味着,您自己编写实体类,而不是通过 edmx 文件生成它们。
请参阅this blog entry,了解如何使用 EF 4.2 先进行编码。
【讨论】: