为什么POCO与EF4,nHiberate相关是一件好事

Bre*_*dan 6 c# poco entity-framework-4

为什么在EF4,Linq2SQL或任何其他数据映射技术中支持POCO如此重要?我理解OO意义上的POCO的概念,但是当涉及到ORM时,我还缺少其他东西吗?

编辑:我只是在ORM的上下文中添加我对POCO的个人定义:它是由开发人员手工编码的类,而不是由ORM映射工具生成,扩充或注释的类(如Visual Studio的EF4设计师).

如果我错了,请纠正我.

mil*_*ose 2

“POCO”意味着框架对实体对象 \xe2\x80\x93 没有施加不必要或违反直觉的约束,不需要使用代码生成器,不需要扩展框架提供的基类,广泛注释属性,或者必须,大多数情况下,编写的代码与始终存储在内存中的类不同。这样可以保留模型类之外的持久数据,并减少认知开销。

\n\n

将 NHibernate 或 EF Code First 中的 POCO 定义与 Visual Studio 为没有 Code First 的 EF 生成的代码进行比较,并问问自己您更喜欢阅读和维护哪一个。(例如,当探索新的代码库时。)

\n