语言

ComplexPropertyBuilder 类

定义

提供用于配置 .IMutableComplexProperty

[System.Runtime.CompilerServices.Nullable(0)]
public class ComplexPropertyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionComplexPropertyBuilder>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionComplexTypeBuilder>
[<System.Runtime.CompilerServices.Nullable(0)>]
type ComplexPropertyBuilder = class
    interface IInfrastructure<IConventionComplexPropertyBuilder>
    interface IInfrastructure<IConventionComplexTypeBuilder>
Public Class ComplexPropertyBuilder
Implements IInfrastructure(Of IConventionComplexPropertyBuilder), IInfrastructure(Of IConventionComplexTypeBuilder)
继承
ComplexPropertyBuilder
派生
特性
实现

注解

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

构造函数

名称 说明
ComplexPropertyBuilder(IMutableComplexProperty)

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

属性

名称 说明
Metadata

正在配置的复杂属性。

PropertyBuilder

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

TypeBuilder

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

方法

名称 说明
ComplexCollection(String, Action<ComplexCollectionBuilder>)

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

ComplexCollection(String)

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

ComplexCollection(Type, String, Action<ComplexCollectionBuilder>)

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

ComplexCollection(Type, String, String, Action<ComplexCollectionBuilder>)

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

ComplexCollection(Type, String, String)

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

ComplexCollection(Type, String)

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

ComplexCollection<TProperty,TElement>(String, Action<ComplexCollectionBuilder<TElement>>)

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

ComplexCollection<TProperty,TElement>(String, String, Action<ComplexCollectionBuilder<TElement>>)

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

ComplexCollection<TProperty,TElement>(String, String)

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

ComplexCollection<TProperty,TElement>(String)

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

ComplexProperty(String, Action<ComplexPropertyBuilder>)

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

ComplexProperty(String)

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

ComplexProperty(Type, String, Action<ComplexPropertyBuilder>)

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

ComplexProperty(Type, String, String, Action<ComplexPropertyBuilder>)

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

ComplexProperty(Type, String, String)

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

ComplexProperty(Type, String)

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

ComplexProperty<TProperty>(String, Action<ComplexPropertyBuilder<TProperty>>)

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

ComplexProperty<TProperty>(String, String, Action<ComplexPropertyBuilder<TProperty>>)

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

ComplexProperty<TProperty>(String, String)

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

ComplexProperty<TProperty>(String)

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

HasChangeTrackingStrategy(ChangeTrackingStrategy)

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

HasDiscriminator()

配置用于标识存储中复杂类型的鉴别器属性。

HasDiscriminator(String, Type)

配置用于标识存储中复杂类型的鉴别器属性。

HasDiscriminator<TDiscriminator>(String)

配置用于标识存储中复杂类型的鉴别器属性。

HasField(String)

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

HasNoDiscriminator()

将复杂类型配置为没有歧视性属性。

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>属性中获取值。

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

HasColumnType(ComplexPropertyBuilder, String)

为存储复杂属性的 JSON 列配置列类型。

HasJsonPropertyName(ComplexPropertyBuilder, String)

配置映射到 JSON 列的实体的复杂属性,将复杂属性映射到特定的 JSON 属性,而不是使用复杂属性名称。

ToJson(ComplexPropertyBuilder, String)

配置要存储为 JSON 列的复杂属性。

ToJsonProperty(ComplexPropertyBuilder, String)

配置复杂属性在存储为嵌入文档时映射到的属性名称。

适用于