语言

ReferenceReferenceBuilder 类

定义

提供用于配置一对一关系的简单 API。

public class ReferenceReferenceBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.IMutableModel>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalRelationshipBuilder>
[System.Runtime.CompilerServices.Nullable(0)]
public class ReferenceReferenceBuilder : Microsoft.EntityFrameworkCore.Metadata.Builders.InvertibleRelationshipBuilderBase
public class ReferenceReferenceBuilder : Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceReferenceBuilderBase
public class ReferenceReferenceBuilder : Microsoft.EntityFrameworkCore.Metadata.Builders.InvertibleRelationshipBuilderBase
type ReferenceReferenceBuilder = class
    interface IInfrastructure<IMutableModel>
    interface IInfrastructure<InternalRelationshipBuilder>
[<System.Runtime.CompilerServices.Nullable(0)>]
type ReferenceReferenceBuilder = class
    inherit InvertibleRelationshipBuilderBase
type ReferenceReferenceBuilder = class
    inherit ReferenceReferenceBuilderBase
type ReferenceReferenceBuilder = class
    inherit InvertibleRelationshipBuilderBase
Public Class ReferenceReferenceBuilder
Implements IInfrastructure(Of IMutableModel), IInfrastructure(Of InternalRelationshipBuilder)
Public Class ReferenceReferenceBuilder
Inherits InvertibleRelationshipBuilderBase
Public Class ReferenceReferenceBuilder
Inherits ReferenceReferenceBuilderBase
继承
ReferenceReferenceBuilder
继承
ReferenceReferenceBuilder
继承
ReferenceReferenceBuilder
派生
特性
实现
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalRelationshipBuilder>

注解

有关详细信息和示例,请参阅 建模实体类型和关系 。

构造函数

名称 说明
ReferenceReferenceBuilder(EntityType, EntityType, InternalRelationshipBuilder)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

ReferenceReferenceBuilder(IMutableEntityType, IMutableEntityType, IMutableForeignKey)

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

ReferenceReferenceBuilder(InternalForeignKeyBuilder, ReferenceReferenceBuilder, Boolean, Boolean, Boolean, Boolean)

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

ReferenceReferenceBuilder(InternalRelationshipBuilder, EntityType, EntityType)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

ReferenceReferenceBuilder(InternalRelationshipBuilder, ReferenceReferenceBuilder, Boolean, Boolean, Boolean, Boolean)

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

属性

名称 说明
Builder

获取用于配置此关系的内部生成器。

Builder

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

(继承自 InvertibleRelationshipBuilderBase)
Builder

获取用于配置此关系的内部生成器。

(继承自 ReferenceReferenceBuilderBase)
DeclaringEntityType

获取用于配置此关系的第一个实体类型。

(继承自 InvertibleRelationshipBuilderBase)
DeclaringEntityType

获取用于配置此关系的第一个实体类型。

(继承自 ReferenceReferenceBuilderBase)
Metadata

表示此关系的外键。

Metadata

表示此关系的外键。

(继承自 InvertibleRelationshipBuilderBase)
Metadata

表示此关系的外键。

(继承自 ReferenceReferenceBuilderBase)
RelatedEntityType

获取用于配置此关系的第二个实体类型。

(继承自 InvertibleRelationshipBuilderBase)
RelatedEntityType

获取用于配置此关系的第二个实体类型。

(继承自 ReferenceReferenceBuilderBase)

方法

名称 说明
HasAnnotation(String, Object)

添加或更新关系上的批注。 如果具有指定键的 annotation 批注已存在,则会更新其值。

HasForeignKey(String, String[])

将属性配置为用作此关系的外键。

HasForeignKey(Type, String[])

将属性配置为用作此关系的外键。

HasForeignKey<TDependentEntity>(String[])

将属性配置为用作此关系的外键。

如果实体类型上不存在指定的属性名称,则将添加一个新的阴影状态属性(s),用作外键。 阴影状态属性是实体类中没有相应属性的属性。 该属性的当前值存储在实体类的实例中 ChangeTracker ,而不是存储在实体类的实例中。

如果未 HasPrincipalKey(Type, String[]) 指定,则将尝试将外键属性的数据类型和顺序与主体实体类型的主键匹配。 如果它们不匹配,构成唯一索引的新阴影状态属性将添加到主体实体类型,用作引用键。

HasForeignKeyBuilder(EntityType, String, IReadOnlyList<MemberInfo>)

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

HasForeignKeyBuilder(EntityType, String, IReadOnlyList<PropertyInfo>)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

HasForeignKeyBuilder(EntityType, String, IReadOnlyList<String>)

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

HasPrincipalKey(String, String[])

配置此关系所面向的唯一属性。 通常,如果想要将主键以外的属性用作主体属性(s),则仅调用此方法。 如果指定的属性(s)不是唯一约束(或主键),则将引入新的唯一约束。

HasPrincipalKey(Type, String[])

配置此关系所面向的唯一属性。 通常,如果想要将主键以外的属性用作主体属性(s),则仅调用此方法。 如果指定的属性(s)不是唯一约束(或主键),则将引入新的唯一约束。

HasPrincipalKey<TPrincipalEntity>(String[])

配置此关系所面向的唯一属性。 通常,如果想要将主键以外的属性用作主体属性(s),则仅调用此方法。 如果指定的属性(s)不是唯一约束(或主键),则将引入新的唯一约束。

HasPrincipalKeyBuilder(EntityType, String, IReadOnlyList<MemberInfo>)

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

HasPrincipalKeyBuilder(EntityType, String, IReadOnlyList<PropertyInfo>)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

HasPrincipalKeyBuilder(EntityType, String, IReadOnlyList<String>)

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

IsConstrained(Boolean)

配置关系是否受约束。 创建数据库外键约束时 false,查询将关系视为可选(主体不假定存在),即使外键属性不可为 null 也是如此。 这不会影响更改跟踪。 请参阅 IsConstrained。

IsRequired(Boolean)

配置这是否为必需关系(即是否可以分配 null外键属性)。

OnDelete(DeleteBehavior)

配置在删除主体或断开关系时应用于关系中的从属实体的操作。

OnDelete(DeleteBehavior)

配置删除主体或断开关系时,如何对关系中的依赖实体应用删除操作。

ResolveEntityType(String)

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

ResolveEntityType(Type)

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

SetDependentEntityType(String)

设置关系所依赖的实体类型。

SetDependentEntityType(Type)

设置关系所依赖的实体类型。

SetPrincipalEntityType(String)

设置作为关系主体的实体类型。

SetPrincipalEntityType(Type)

设置作为关系主体的实体类型。

显式接口实现

名称 说明
IInfrastructure<IConventionForeignKeyBuilder>.Instance

获取隐藏的属性的值。

(继承自 InvertibleRelationshipBuilderBase)
IInfrastructure<IMutableModel>.Instance

此关系所属的模型。

IInfrastructure<IMutableModel>.Instance

此关系所属的模型。

(继承自 ReferenceReferenceBuilderBase)
IInfrastructure<InternalRelationshipBuilder>.Instance

获取用于配置此关系的内部生成器。

IInfrastructure<InternalRelationshipBuilder>.Instance

获取用于配置此关系的内部生成器。

(继承自 InvertibleRelationshipBuilderBase)
IInfrastructure<InternalRelationshipBuilder>.Instance

获取用于配置此关系的内部生成器。

(继承自 ReferenceReferenceBuilderBase)

扩展方法

名称 说明
ExcludeForeignKeyFromMigrations(ReferenceReferenceBuilder, Boolean)

配置在面向关系数据库时是否从迁移中排除外键约束。

ForSqliteHasConstraintName(ReferenceReferenceBuilder, String)

针对 SQLite 配置此关系的外键约束名称。

ForSqlServerHasConstraintName(ReferenceReferenceBuilder, String)

针对SQL Server时配置此关系的外键约束名称。

GetInfrastructure<T>(IInfrastructure<T>)

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

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

HasConstraintName(ReferenceReferenceBuilder, String)

针对关系数据库时配置此关系的外键约束名称。

HasConstraintName(ReferenceReferenceBuilder, String)

针对关系数据库时配置此关系的外键约束名称。

适用于