c# - 什么是 Entity Framework fluent api?

标签 c# entity-framework orm entity-framework-4 ef-fluent-api

我一直听说 Entity Framework fluent-api,但我正在努力寻找这方面的良好引用。这是什么?

我们使用提供的 Entity Framework 和建模工具。仅此而已吗?还是有什么不同?

同样,如果不是太宽泛的问题,什么是 POCO?我知道它代表 Plain Old CLR Objects,但对于已经使用 EF 和设计器模型工具的我来说,这意味着什么?如果这个问题太模糊,请忽略它。我只是在这里学习,您愿意提供的任何信息都是有帮助的。

最佳答案

Entity Framework 4.1 引入了编写数据库模型的代码优先方法。这也称为 POCO(普通旧 CLR 对象)。这个想法是您可以从这些类构建数据库,而不是先构建数据库然后从中创建模型。

有大量关于此的优秀博客文章和 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

关于流畅的 API,这基本上是使用 EF 类来构建您的数据库,例如:

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

所以您手动声明 Category 表有一个名为“CategoryCode”的主键。您还可以像这样声明 PK:

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

[Key] 属性来自 Data Annotations

关于c# - 什么是 Entity Framework fluent api?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6332340/

相关文章:

c# - 将一个类映射到临时类(没有一些属性)

c# - 单元测试具有接口(interface)类型参数的方法

c# - 将字符串转换为日期时间的 LINQ 查询

php - 你如何在 CakePHP 中转义 SQL 数据?

mysql - Sequelize.js 外键

java - Hibernate查询从三个相关表中获取记录

c# - .NET 的文件搜索 API

c# - 检查 Get-NetTCPConnection 对象是否存在

c# - Entity Framework Code First 中的有效原始属性是什么?

asp.net - Entity Framework - "New transaction is not allowed because there are other threads running in the session"