ComplexPropertyBuilder 类

定义

提供用于配置 的 IMutableComplexProperty简单 API。

public class ComplexPropertyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionComplexPropertyBuilder>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionComplexTypeBuilder>
type ComplexPropertyBuilder = class
    interface IInfrastructure<IConventionComplexPropertyBuilder>
    interface IInfrastructure<IConventionComplexTypeBuilder>
Public Class ComplexPropertyBuilder
Implements IInfrastructure(Of IConventionComplexPropertyBuilder), IInfrastructure(Of IConventionComplexTypeBuilder)
继承
ComplexPropertyBuilder
派生
实现

注解

此类的实例在使用 API 时从方法中返回, ModelBuilder 它不是在应用程序代码中直接构造的。

构造函数

ComplexPropertyBuilder(IMutableComplexProperty)

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,而无需通知。 仅应在代码中非常谨慎地直接使用它,并且知道在更新到新的 Entity Framework Core 版本时这样做可能会导致应用程序失败。

属性

Metadata

正在配置的复杂属性。

PropertyBuilder

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,而无需通知。 仅应在代码中非常谨慎地直接使用它,并且知道在更新到新的 Entity Framework Core 版本时这样做可能会导致应用程序失败。

TypeBuilder

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,而无需通知。 仅应在代码中非常谨慎地直接使用它,并且知道在更新到新的 Entity Framework Core 版本时这样做可能会导致应用程序失败。

方法

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>>)

配置复杂类型的复杂属性。 如果不存在具有给定名称的属性,则将添加新属性。

HasChangeTrackingStrategy(ChangeTrackingStrategy)

ChangeTrackingStrategy 配置为用于此实体类型。 此策略指示上下文如何检测实体类型实例的属性更改。

HasField(String)

设置要用于此属性的后备字段。

HasPropertyAnnotation(String, Object)

在复杂属性上添加或更新批注。 如果已存在具有中 annotation 指定键的批注,则其值将更新。

HasTypeAnnotation(String, Object)

在复杂类型上添加或更新批注。 如果已存在具有中 annotation 指定键的批注,则其值将更新。

Ignore(String)

从复杂类型中排除给定属性。 此方法通常用于从按约定添加的复杂类型中删除属性和导航。

IndexerProperty(Type, String)

返回一个对象,该对象可用于配置复杂类型的属性。 如果不存在具有给定名称的属性,则将添加新属性。

IndexerProperty<TProperty>(String)

返回一个对象,该对象可用于配置复杂类型的属性。 如果不存在具有给定名称的属性,则将添加新属性。

IsRequired(Boolean)

配置此属性是必须分配 null 值还是有效值。 仅当属性基于可分配 null的 CLR 类型时,才能将其配置为非必需属性。

PrimitiveCollection(String)

返回一个对象,该对象可用于配置复杂类型的属性。 如果不存在具有给定名称的属性,则将添加新属性。

PrimitiveCollection(Type, String)

返回一个对象,该对象可用于配置复杂类型的属性。 如果不存在具有给定名称的属性,则将添加新属性。

PrimitiveCollection<TProperty>(String)

返回一个对象,该对象可用于配置复杂类型的属性。 如果不存在具有给定名称的属性,则将添加新属性。

Property(String)

返回一个对象,该对象可用于配置复杂类型的属性。 如果不存在具有给定名称的属性,则将添加新属性。

Property(Type, String)

返回一个对象,该对象可用于配置复杂类型的属性。 如果不存在具有给定名称的属性,则将添加新属性。

Property<TProperty>(String)

返回一个对象,该对象可用于配置复杂类型的属性。 如果不存在具有给定名称的属性,则将添加新属性。

UseDefaultPropertyAccessMode(PropertyAccessMode)

PropertyAccessMode设置要用于此复杂类型的所有属性的 。

UsePropertyAccessMode(PropertyAccessMode)

PropertyAccessMode设置要用于此属性的 。

显式接口实现

IInfrastructure<IConventionComplexPropertyBuilder>.Instance

获取用于配置复杂属性的内部生成器。

IInfrastructure<IConventionComplexTypeBuilder>.Instance

获取用于配置复杂类型的内部生成器。

扩展方法

GetInfrastructure<T>(IInfrastructure<T>)

从使用 IInfrastructure<T>隐藏的属性获取值。

此方法通常由数据库提供程序 (和其他扩展) 使用。 它通常不用于应用程序代码。

适用于