EntityTypeBuilder 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供用于配置 的 IMutableEntityType简单 API。
public class EntityTypeBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.IMutableModel>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>
public class EntityTypeBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>
public class EntityTypeBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionEntityTypeBuilder>
type EntityTypeBuilder = class
interface IInfrastructure<IMutableModel>
interface IInfrastructure<InternalEntityTypeBuilder>
type EntityTypeBuilder = class
interface IInfrastructure<InternalEntityTypeBuilder>
type EntityTypeBuilder = class
interface IInfrastructure<IConventionEntityTypeBuilder>
Public Class EntityTypeBuilder
Implements IInfrastructure(Of IMutableModel), IInfrastructure(Of InternalEntityTypeBuilder)
Public Class EntityTypeBuilder
Implements IInfrastructure(Of InternalEntityTypeBuilder)
Public Class EntityTypeBuilder
Implements IInfrastructure(Of IConventionEntityTypeBuilder)
- 继承
-
EntityTypeBuilder
- 派生
- 实现
-
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder> IInfrastructure<IConventionEntityTypeBuilder>
注解
此类的实例在使用 API 时从方法返回, ModelBuilder 并且它不是设计为在应用程序代码中直接构造的。
构造函数
EntityTypeBuilder(IMutableEntityType) |
这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,恕不另行通知。 应仅在代码中直接使用它,并且非常谨慎,并且知道在更新到新的 Entity Framework Core 版本时,这样做可能会导致应用程序失败。 |
EntityTypeBuilder(InternalEntityTypeBuilder) |
此 API 支持 Entity Framework Core 基础结构,不应直接从代码使用。 将来的版本中可能会更改或删除此 API。 |
属性
Builder |
这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,恕不另行通知。 应仅在代码中直接使用它,并且非常谨慎,并且知道在更新到新的 Entity Framework Core 版本时,这样做可能会导致应用程序失败。 |
Metadata |
要配置的实体类型。 |
方法
ComplexProperty(String) |
返回一个 对象,该对象可用于配置实体类型的复杂属性。 如果不存在具有给定名称的属性,则将添加新属性。 |
ComplexProperty(String, Action<ComplexPropertyBuilder>) |
配置实体类型的复杂属性。 如果不存在具有给定名称的属性,则将添加新属性。 |
ComplexProperty(Type, String) |
配置实体类型的复杂属性。 如果不存在具有给定名称的属性,则将添加新属性。 |
ComplexProperty(Type, String, Action<ComplexPropertyBuilder>) |
返回一个 对象,该对象可用于配置复杂类型的复杂属性。 如果不存在具有给定名称的属性,则将添加新属性。 |
ComplexProperty(Type, String, String) |
配置实体类型的复杂属性。 如果不存在具有给定名称的属性,则将添加新属性。 |
ComplexProperty(Type, String, String, Action<ComplexPropertyBuilder>) |
返回一个 对象,该对象可用于配置复杂类型的复杂属性。 如果不存在具有给定名称的属性,则将添加新属性。 |
ComplexProperty<TProperty>(String) |
返回一个 对象,该对象可用于配置实体类型的复杂属性。 如果不存在具有给定名称的属性,则将添加新属性。 |
ComplexProperty<TProperty>(String, Action<ComplexPropertyBuilder<TProperty>>) |
配置实体类型的复杂属性。 如果不存在具有给定名称的属性,则将添加新属性。 |
ComplexProperty<TProperty>(String, String) |
返回一个 对象,该对象可用于配置实体类型的复杂属性。 如果不存在具有给定名称的属性,则将添加新属性。 |
ComplexProperty<TProperty>(String, String, Action<ComplexPropertyBuilder<TProperty>>) |
配置实体类型的复杂属性。 如果不存在具有给定名称的属性,则将添加新属性。 |
FindRelatedEntityType(String, String) |
这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,恕不另行通知。 应仅在代码中直接使用它,并且非常谨慎,并且知道在更新到新的 Entity Framework Core 版本时,这样做可能会导致应用程序失败。 |
FindRelatedEntityType(Type, String) |
这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,恕不另行通知。 应仅在代码中直接使用它,并且非常谨慎,并且知道在更新到新的 Entity Framework Core 版本时,这样做可能会导致应用程序失败。 |
HasAlternateKey(String[]) |
如果指定属性上尚不存在此实体类型的备用键,则在此模型中创建一个备用键。 这将强制属性为只读。 用于 HasIndex 指定模型中不强制属性为只读的唯一性。 |
HasAnnotation(String, Object) |
在实体类型上添加或更新批注。 如果具有 中指定的 |
HasBaseType(String) |
设置继承层次结构中此实体类型的基类型。 |
HasBaseType(Type) |
设置继承层次结构中此实体类型的基类型。 |
HasChangeTrackingStrategy(ChangeTrackingStrategy) |
配置 ChangeTrackingStrategy 要用于此实体类型的 。 此策略指示上下文如何检测实体类型实例的属性更改。 |
HasChangeTrackingStrategy(ChangeTrackingStrategy) |
配置 ChangeTrackingStrategy 要用于此实体类型的 。 此策略指示上下文如何检测实体类型实例的属性更改。 |
HasData(IEnumerable<Object>) |
将此实体配置为具有种子数据。 它用于生成数据运动迁移。 |
HasData(Object[]) |
将此实体配置为具有种子数据。 它用于生成数据运动迁移。 |
HasDiscriminator() |
配置用于标识存储区中的实体类型的鉴别器属性。 |
HasDiscriminator(String, Type) |
配置用于标识存储区中的实体类型的鉴别器属性。 |
HasDiscriminator<TDiscriminator>(String) |
配置用于标识存储区中的实体类型的鉴别器属性。 |
HasIndex(String[]) |
在指定属性上配置未命名索引。 如果给定属性列表中存在现有的未命名索引,则将返回现有索引进行配置。 |
HasIndex(String[], String) |
在指定属性上配置具有给定名称的索引。 如果给定的属性列表上有一个具有给定名称的现有索引,则将返回现有索引进行配置。 |
HasKey(String[]) |
设置构成此实体类型的主键的属性。 |
HasMany(String) |
配置一个关系,其中此实体类型具有包含关系中其他类型的实例的集合。 |
HasMany(String, String) |
配置一个关系,其中此实体类型具有包含关系中其他类型的实例的集合。 |
HasMany(Type, String) |
配置一个关系,其中此实体类型具有包含关系中其他类型的实例的集合。 |
HasManyBuilder(EntityType, PropertyInfo) |
此 API 支持 Entity Framework Core 基础结构,不应直接从代码使用。 将来的版本中可能会更改或删除此 API。 |
HasManyBuilder(EntityType, String) |
此 API 支持 Entity Framework Core 基础结构,不应直接从代码使用。 将来的版本中可能会更改或删除此 API。 |
HasNoDiscriminator() |
将实体类型配置为没有鉴别器属性。 |
HasNoKey() |
将实体类型配置为没有键。 它仅可用于查询。 |
HasOne(String) |
配置一个关系,其中此实体类型具有指向关系中另一类型的单个实例的引用。 |
HasOne(String, String) |
配置一个关系,其中此实体类型具有指向关系中另一类型的单个实例的引用。 |
HasOne(Type, String) |
配置一个关系,其中此实体类型具有指向关系中另一类型的单个实例的引用。 |
HasOneBuilder(EntityType, PropertyInfo) |
此 API 支持 Entity Framework Core 基础结构,不应直接从代码使用。 将来的版本中可能会更改或删除此 API。 |
HasOneBuilder(EntityType, String) |
此 API 支持 Entity Framework Core 基础结构,不应直接从代码使用。 将来的版本中可能会更改或删除此 API。 |
HasOneBuilder(MemberIdentity, EntityType) |
这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,恕不另行通知。 应仅在代码中直接使用它,并且非常谨慎,并且知道在更新到新的 Entity Framework Core 版本时,这样做可能会导致应用程序失败。 |
HasQueryFilter(LambdaExpression) |
指定 LINQ 谓词表达式,该表达式将自动应用于面向此实体类型的任何查询。 |
HasTrigger(IMutableEntityType, String) |
为实体类型配置触发器。 |
Ignore(String) |
从实体类型中排除给定属性。 此方法通常用于从按约定添加的实体类型中删除属性和导航。 |
IndexerProperty(Type, String) |
返回一个对象,该对象可用于配置实体类型的属性。 如果不存在具有给定名称的属性,则将添加新属性。 |
IndexerProperty<TProperty>(String) |
返回一个对象,该对象可用于配置实体类型的属性。 如果不存在具有给定名称的属性,则将添加新属性。 |
Navigation(String) |
返回一个 对象,该对象可用于配置实体类型的现有导航属性。 导航属性不存在是一个错误。 |
New(InternalEntityTypeBuilder) |
此 API 支持 Entity Framework Core 基础结构,不应直接从代码使用。 将来的版本中可能会更改或删除此 API。 |
OwnsMany(String, String) |
配置目标实体由 (或) 此实体的一部分拥有的关系。 |
OwnsMany(String, String, Action<CollectionOwnershipBuilder>) |
配置一个关系,其中此实体类型向关系中的另一类型提供标识。 |
OwnsMany(String, String, Action<OwnedNavigationBuilder>) |
配置目标实体由 (或) 此实体的一部分拥有的关系。 |
OwnsMany(String, Type, String) |
配置目标实体由 (或) 此实体的一部分拥有的关系。 |
OwnsMany(String, Type, String, Action<OwnedNavigationBuilder>) |
配置目标实体由 (或) 此实体的一部分拥有的关系。 |
OwnsMany(Type, String) |
配置目标实体由 (或) 此实体的一部分拥有的关系。 |
OwnsMany(Type, String, Action<CollectionOwnershipBuilder>) |
配置一个关系,其中此实体类型向关系中的另一类型提供标识。 |
OwnsMany(Type, String, Action<OwnedNavigationBuilder>) |
配置目标实体由 (或) 此实体的一部分拥有的关系。 |
OwnsOne(String, String) |
配置目标实体由 (或) 此实体的一部分拥有的关系。 |
OwnsOne(String, String, Action<OwnedNavigationBuilder>) |
配置目标实体由 (或) 此实体的一部分拥有的关系。 |
OwnsOne(String, String, Action<ReferenceOwnershipBuilder>) |
配置目标实体由 (或) 此实体的一部分拥有的关系。 每个所有权关系的目标实体类型被视为不同的实体类型,即使导航的类型相同。 目标实体类型的配置不会应用于其他所有权关系的目标实体类型。 对拥有实体的大多数操作需要使用相应的导航通过所有者实体访问它。 |
OwnsOne(String, Type, String) |
配置目标实体由 (或) 此实体的一部分拥有的关系。 |
OwnsOne(String, Type, String, Action<OwnedNavigationBuilder>) |
配置目标实体由 (或) 此实体的一部分拥有的关系。 |
OwnsOne(Type, String) |
配置目标实体由 (或) 此实体的一部分拥有的关系。 |
OwnsOne(Type, String, Action<OwnedNavigationBuilder>) |
配置目标实体由 (或) 此实体的一部分拥有的关系。 |
OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>) |
配置目标实体由 (或) 此实体的一部分拥有的关系。 每个所有权关系的目标实体类型被视为不同的实体类型,即使导航的类型相同。 目标实体类型的配置不会应用于其他所有权关系的目标实体类型。 对拥有实体的大多数操作需要使用相应的导航通过所有者实体访问它。 |
PrimitiveCollection(String) |
返回一个 对象,该对象可用于配置实体类型的属性,其中该属性表示基元值(如字符串或整数)的集合。 如果不存在具有给定名称的属性,则将添加新属性。 |
PrimitiveCollection(Type, String) |
返回一个 对象,该对象可用于配置实体类型的属性,其中该属性表示基元值(如字符串或整数)的集合。 如果不存在具有给定名称的属性,则将添加新属性。 |
PrimitiveCollection<TProperty>(String) |
返回一个 对象,该对象可用于配置实体类型的属性,其中该属性表示基元值(如字符串或整数)的集合。 如果不存在具有给定名称的属性,则将添加新属性。 |
Property(String) |
返回一个对象,该对象可用于配置实体类型的属性。 如果不存在具有给定名称的属性,则将添加新属性。 |
Property(Type, String) |
返回一个对象,该对象可用于配置实体类型的属性。 如果不存在具有给定名称的属性,则将添加新属性。 |
Property<TProperty>(String) |
返回一个对象,该对象可用于配置实体类型的属性。 如果不存在具有给定名称的属性,则将添加新属性。 |
UsePropertyAccessMode(PropertyAccessMode) |
PropertyAccessMode设置要用于此实体类型的所有属性的 。 默认情况下,在构造新对象时(通常是从数据库查询实体时),将使用后备字段(如果按约定找到或已指定)。 属性用于所有其他访问。 调用此方法会更改此实体类型的所有属性的行为,如枚举中所述 PropertyAccessMode 。 对于此实体类型的所有属性,调用此方法会覆盖在模型上设置的任何访问模式。 |
UsePropertyAccessMode(PropertyAccessMode) |
PropertyAccessMode设置要用于此实体类型的所有属性的 。 |
显式接口实现
IInfrastructure<IConventionEntityTypeBuilder>.Instance |
获取用于配置实体类型的内部生成器。 |
IInfrastructure<IMutableModel>.Instance |
实体类型所属的模型。 |
IInfrastructure<InternalEntityTypeBuilder>.Instance |
获取用于配置实体类型的内部生成器。 |
扩展方法
适用于
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈