什么是entity frameworkstream利的API?

我一直听到entity frameworkstream利的API,但我很努力地find一个很好的参考。 它是什么?

我们使用entity framework和提供的build模工具。 那就是这一切吗? 还是有点不同?

同样,如果问题不是太广泛,POCO是什么? 我知道它代表简单的旧CLR对象,但是对于我来说,对于使用EF的devise师模型工具来说,这意味着什么呢? 如果这个问题太模糊,请忽略它。 我只是在这里学习,你愿意提供的任何信息都是有帮助的。

Entity Framework 4.1引入了编写数据库模型的第一种方法。 这也被称为POCO(Plain Old CLR Objects)。 这个想法是,你可以从这些类build立你的数据库,而不是先build立数据库,并从中创build一个模型。

有很多很好的博客文章和MSDN文档。 一个好的开始将是

http://blogs.msdn.com/b/adonet/archive/2010/12/14/ef-feature-ctp5-fluent-api-samples.aspx

http://weblogs.asp.net/scottgu/archive/2010/12/08/announcing-entity-framework-code-first-ctp5-release.aspx

http://weblogs.asp.net/manavi/archive/2011/03/27/associations-in-ef-4-1-code-first-part-1-introduction-and-basic-concepts.aspx

关心stream利的API,这基本上是使用EF类来build立你的数据库,例如:

modelBuilder.Entity<Category>().HasKey(c => c.CategoryCode); 

所以你手工指出Category表有一个名为`CategoryCode'的主键。 你也可以像这样声明PK:

 public class Category { [Key] public int CategoryCode { get; set;} } 

[Key]属性来自Data Annotations

POCO代表Plain Old CLR对象。

关于Fluent API的文章。

您也可以在MSDN上查看Code First Fluent API部分http://msdn.microsoft.com/zh-cn/library/hh295844

回应您的POCO问题:在我正在使用的应用程序中,我正在使用POCO将数据传递到我的Silverlight前端(EF只是不切割它)。 本质上,我使用EFbuild模者创build的实体,将它们按顺序编辑为友好的版本,然后通过线路来回发送它们。 POCO将在需要时提供一个抽象层。 我认为它是将DAO模式适配为序列化,而不是像DAO模式通常那样将其用于数据库访问。

请参阅http://www.asp.net/entity-framework/tutorials/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application上有关POCO类的段落;

本质上,在EF的上下文中,POCO类是不从Entity Framework EntityObject类inheritance的实体类(这是默认情况下在Database First或Model First中获得的)。 正如其他答案之一所提到的,这使序列化对象变得更容易,而且一些开发和自动化testing方法学更喜欢使用没有参考entity framework的对象。