DbModelBuilder 类
[本页针对的是实体框架版本 6。最新版本以“实体框架”NuGet 包的形式提供。有关实体框架的更多信息,请参见 msdn.com/data/ef。]
DbModelBuilder 用于将 CLR 类映射到数据库架构。 此以代码为中心的方法称作“Code First”,可用于生成实体数据模型 (EDM) 模型。
继承层次结构
System.Object
System.Data.Entity.DbModelBuilder
命名空间: System.Data.Entity
程序集: EntityFramework(在 EntityFramework.dll 中)
语法
声明
Public Class DbModelBuilder
用法
Dim instance As DbModelBuilder
public class DbModelBuilder
public ref class DbModelBuilder
type DbModelBuilder = class end
public class DbModelBuilder
DbModelBuilder 类型公开以下成员。
构造函数
名称 | 描述 | |
---|---|---|
DbModelBuilder() | 初始化 DbModelBuilder 类的新实例。发现初始模型的过程将使用您计算机上安装的实体框架的最新版本中所包含的一组约定。 | |
DbModelBuilder(DbModelBuilderVersion) | 初始化 DbModelBuilder 类的新实例,它将使用一组特定的约定来发现初始模型。 |
顶部
属性
名称 | 描述 | |
---|---|---|
Configurations | 获取此 DbModelBuilder 的 ConfigurationRegistrar。注册器允许使用此生成器来注册派生的实体和复杂类型配置。 | |
Conventions | 提供对处理约定的此 DbModelBuilder 的设置的访问。 |
顶部
方法
名称 | 描述 | |
---|---|---|
Build(DbConnection) | 使用此生成器基于执行的配置来创建一个 DbModel。连接用于确定要使用的数据库提供程序,因为这会影响生成的模型的数据库层。 | |
Build(DbProviderInfo) | 使用此生成器基于执行的配置来创建一个 DbModel。必须指定提供程序信息,因为这会影响生成的模型的数据库层。对于 SqlClient,固定名称为“System.Data.SqlClient”,清单标记为版本年份(例如,“2005”、“2008”等)。 | |
ComplexType<TComplexType> | 将一个类型注册为模型中的复杂类型,并返回一个可用来配置复杂类型的对象。可对同一类型多次调用此方法以执行多行配置。 | |
Entity<TEntityType> | 将实体类型注册为模型的一部分,并返回一个可用来配置实体的对象。可对同一实体多次调用此方法以执行多行配置。 | |
Equals | 指定 DbModelBuilder 是否等于指定的对象。 (重写 Object.Equals(Object)。) | |
Finalize | (继承自 Object。) | |
GetHashCode | 返回当前实例的哈希代码。 (重写 Object.GetHashCode()。) | |
GetType | 获取当前实例的 Type。 | |
HasDefaultSchema | 配置默认数据库架构名称。此默认数据库架构名称用于不具有显式配置的架构名称的数据库对象。 | |
Ignore(IEnumerable<Type>) | 从模型中排除指定的类型。这用于在初始模型发现期间从根据约定添加的模型中移除类型。 | |
Ignore<T>() | 从模型中排除类型。这用于在初始模型发现期间从根据约定添加的模型中移除类型。 | |
MemberwiseClone | (继承自 Object。) | |
Properties() | 开始配置适用于模型中所有属性的轻型约定。 | |
Properties<T>() | 开始配置适用于模型中指定类型的所有基元属性的轻型约定。 | |
RegisterEntityType | 将实体类型注册为模型的一部分。 | |
ToString | 返回 DbModelBuilder 的字符串表示形式。 (重写 Object.ToString()。) | |
Types() | 开始配置应用于模型中所有实体和复杂类型的轻型约定。 | |
Types<T>() | 开始配置应用于模型中从泛型参数指定的类型派生或实现泛型参数指定的类型的所有实体和复杂类型的轻型约定。此方法不会将类型注册为模型的一部分。 |
顶部
备注
DbModelBuilder 通常用于通过重写 OnModelCreating(DbModelBuilder) 来配置模型。 您还可使用独立于 DbContext 的 DbModelBuilder 来生成一个模型,然后构造一个 DbContext 或 ObjectContext。 但是,建议的方法是在 DbContext 中将 OnModelCreating 用作工作流(这样会更加直观)并处理常规任务(例如,缓存创建的模型)。 使用 DbModelBuilder 注册构成您的模型的类型,并可通过将数据注释应用于您的类和/或通过使用 Fluent 样式 DbModelBuilder API 来执行可选配置。 调用 Build 方法时,将运行一组约定以发现初始模型。 这些约定将自动发现模型的各个方面(例如主键),并且还将处理您的类上所指定的任何数据注释。 最后,将应用使用 DbModelBuilder API 执行的任何配置。 通过使用 DbModelBuilder API 完成的配置优先于数据注释,而数据注释又优先于默认约定。
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。