POCO在实体框架中是什么?

87
我刚开始学习POCO,但我不太理解它的用法和优势。即使是StackOverflow上的以下链接也没有帮助我。

什么是使用POCO的实体框架

有人能用一个简单的例子来解释一下POCO的用法吗?


5
我认为你理解它的最好方法是通过一个例子:http://pratapreddypilaka.blogspot.com.au/2011/12/entity-framework-40-poco.html - Jeremy Thompson
我不确定你希望得到什么答案,因为你的链接已经给出了答案。如果你在阅读后仍然不理解,也许像Jeremy建议的那样,你需要通过实践学习。 - Ant P
1个回答

108

POCO(Plain old CLR objects)是您的领域中的实体。通常,当我们使用实体框架时,实体会自动为您生成。这很好,但不幸的是,这些实体与数据库访问功能交织在一起,这显然违反了SOC(关注点分离)原则。POCO是简单的实体,没有任何数据访问功能,但仍具备EntityObject所有功能,例如:

  • 延迟加载
  • 更改跟踪

这是一个良好的起点

POCO Entity framework

您还可以使用代码生成器轻松地从现有的实体框架项目中生成POCO。

EF 5.X DbContext code generator


2
你的“POCO Entity framework MSDN Part-I”链接已经失效了。现在是这个链接吗?https://msdn.microsoft.com/en-us/library/dd456853(v=vs.100).aspx - Aske B.
@AskeB,谢谢你更新了链接。那就是它了。 - Prabhu Murthy
我一直将POCO称为“普通的C对象”,这是错误的还是只是不同的? - Halter
2
@Halter所说的“普通的C#对象”,或者(正如Prabhu所说的那样)“CLR对象”,因为相同的概念也适用于VB和F#。 - Nate Barbettini

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接