什么是 modelBuilder.entity(Of x)

What is modelBuilder.entity(Of x)

我有一个 EF 6 项目的上下文 class,每个 table:

中的每一列都具有以下 modelBuilder 属性
Protected Overrides Sub OnModelCreating(ByVal modelBuilder As DbModelBuilder)
    modelBuilder.Entity(Of Product)() _
        .Property(Function(e) e.Name) _
        .IsUnicode(False)

    modelBuilder.Entity(Of Product)() _
        .Property(Function(e) e.Description) _
        .IsUnicode(False)
End Sub

这是做什么用的?在数据库优先甚至代码优先示例中,我还没有看到这一点。此上下文 class 是使用 'code first existing database' 创建的。我是 EF 的新手,想了解它的用途。

谢谢-

使用 Code First 时,您的模型是使用一组约定根据您的 类 计算得出的。默认的 Code First 约定决定了诸如哪个 属性 成为实体的主键、实体映射到的 table 的名称以及默认情况下小数列的精度和小数位数。

有时这些默认约定并不适合您的模型,您必须通过使用数据注释或 Fluent API 配置许多单独的实体来解决它们。自定义代码优先约定让您定义自己的约定,为您的模型提供配置默认值。

在这里阅读更多...

https://msdn.microsoft.com/en-us/data/jj819164.aspx

文章也不错...

http://www.codeproject.com/Articles/165720/Using-the-Code-First-Model-Configuration-Classes