다음을 통해 공유


ForeignKeyPropertyDiscoveryConvention 클래스

정의

대/소문자를 무시하고 이름에 따라 관계에 대한 외래 키 속성을 찾는 규칙입니다.

  • [탐색 속성 이름] [보안 주체 키 속성 이름]
  • [탐색 속성 이름] 자료
  • [주체 엔터티 이름] [보안 주체 키 속성 이름]
  • [주체 엔터티 이름] 자료
public class ForeignKeyPropertyDiscoveryConvention : Microsoft.EntityFrameworkCore.Metadata.Conventions.IEntityTypeMemberIgnoredConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IEntityTypePrimaryKeyChangedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IForeignKeyAddedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IForeignKeyPrincipalEndChangedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IForeignKeyPropertiesChangedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IForeignKeyRequirednessChangedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IForeignKeyUniquenessChangedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IKeyAddedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IKeyRemovedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IModelFinalizedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.INavigationAddedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IPropertyAddedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IPropertyFieldChangedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IPropertyNullabilityChangedConvention
public class ForeignKeyPropertyDiscoveryConvention : Microsoft.EntityFrameworkCore.Metadata.Conventions.IEntityTypeMemberIgnoredConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IEntityTypePrimaryKeyChangedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IForeignKeyAddedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IForeignKeyPrincipalEndChangedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IForeignKeyPropertiesChangedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IForeignKeyRequirednessChangedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IForeignKeyUniquenessChangedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IKeyAddedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IKeyRemovedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IModelFinalizingConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.INavigationAddedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IPropertyAddedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IPropertyFieldChangedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.IPropertyNullabilityChangedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.ISkipNavigationForeignKeyChangedConvention, Microsoft.EntityFrameworkCore.Metadata.Conventions.ISkipNavigationInverseChangedConvention
type ForeignKeyPropertyDiscoveryConvention = class
    interface IForeignKeyAddedConvention
    interface IConvention
    interface INavigationAddedConvention
    interface IPropertyAddedConvention
    interface IEntityTypeMemberIgnoredConvention
    interface IPropertyNullabilityChangedConvention
    interface IPropertyFieldChangedConvention
    interface IForeignKeyPropertiesChangedConvention
    interface IForeignKeyPrincipalEndChangedConvention
    interface IForeignKeyUniquenessChangedConvention
    interface IForeignKeyRequirednessChangedConvention
    interface IKeyAddedConvention
    interface IKeyRemovedConvention
    interface IEntityTypePrimaryKeyChangedConvention
    interface IModelFinalizedConvention
type ForeignKeyPropertyDiscoveryConvention = class
    interface IEntityTypeMemberIgnoredConvention
    interface IConvention
    interface IEntityTypePrimaryKeyChangedConvention
    interface IForeignKeyAddedConvention
    interface IForeignKeyPropertiesChangedConvention
    interface IForeignKeyPrincipalEndChangedConvention
    interface IForeignKeyUniquenessChangedConvention
    interface IForeignKeyRequirednessChangedConvention
    interface IKeyAddedConvention
    interface IKeyRemovedConvention
    interface INavigationAddedConvention
    interface ISkipNavigationForeignKeyChangedConvention
    interface ISkipNavigationInverseChangedConvention
    interface IPropertyAddedConvention
    interface IPropertyNullabilityChangedConvention
    interface IPropertyFieldChangedConvention
    interface IModelFinalizingConvention
Public Class ForeignKeyPropertyDiscoveryConvention
Implements IEntityTypeMemberIgnoredConvention, IEntityTypePrimaryKeyChangedConvention, IForeignKeyAddedConvention, IForeignKeyPrincipalEndChangedConvention, IForeignKeyPropertiesChangedConvention, IForeignKeyRequirednessChangedConvention, IForeignKeyUniquenessChangedConvention, IKeyAddedConvention, IKeyRemovedConvention, IModelFinalizedConvention, INavigationAddedConvention, IPropertyAddedConvention, IPropertyFieldChangedConvention, IPropertyNullabilityChangedConvention
Public Class ForeignKeyPropertyDiscoveryConvention
Implements IEntityTypeMemberIgnoredConvention, IEntityTypePrimaryKeyChangedConvention, IForeignKeyAddedConvention, IForeignKeyPrincipalEndChangedConvention, IForeignKeyPropertiesChangedConvention, IForeignKeyRequirednessChangedConvention, IForeignKeyUniquenessChangedConvention, IKeyAddedConvention, IKeyRemovedConvention, IModelFinalizingConvention, INavigationAddedConvention, IPropertyAddedConvention, IPropertyFieldChangedConvention, IPropertyNullabilityChangedConvention, ISkipNavigationForeignKeyChangedConvention, ISkipNavigationInverseChangedConvention
상속
ForeignKeyPropertyDiscoveryConvention
구현

설명

일치하는 속성이 없으면 관계가 소유권을 나타내지 않고 종속 쪽이 모호하지 않고 파생되지 않은 경우 관계가 일대일로 사용되는 경우 기본 키 속성이 사용되고, 그렇지 않으면 규칙이 종속 PK의 적절한 하위 집합인 경우 속성을 주 키 속성으로 정확하게 일치시키려고 시도합니다.

일치 항목이 발견되었지만 속성 형식이 주 키 형식과 호환되지 않는 경우 더 이상 일치하는 항목을 검색하지 않습니다.

관계가 규칙에 의해 만들어진 섀도 속성을 사용하는 경우 이름을 고유하게 만드는 데 사용되는 접미사를 제거하기 위해 다시 만들어집니다.

자세한 내용 및 예제는 모델 빌드 규칙을 참조하세요.

생성자

ForeignKeyPropertyDiscoveryConvention(ProviderConventionSetBuilderDependencies)

ForeignKeyPropertyDiscoveryConvention의 새 인스턴스를 만듭니다.

속성

Dependencies

이 서비스에 대한 종속성입니다.

메서드

GetPropertyBaseName(IForeignKey)

지정된 외래 키에 대해 만든 그림자 속성의 일부로 사용해야 하는 문자열을 가져옵니다.

GetPropertyBaseName(IReadOnlyForeignKey)

지정된 외래 키에 대해 만든 그림자 속성의 일부로 사용해야 하는 문자열을 가져옵니다.

ProcessEntityTypeMemberIgnored(IConventionEntityTypeBuilder, String, IConventionContext<String>)

엔터티 형식 멤버가 무시된 후 호출됩니다.

ProcessEntityTypePrimaryKeyChanged(IConventionEntityTypeBuilder, IConventionKey, IConventionKey, IConventionContext<IConventionKey>)

엔터티 형식의 기본 키가 변경된 후 호출됩니다.

ProcessForeignKeyAdded(IConventionForeignKeyBuilder, IConventionContext<IConventionForeignKeyBuilder>)

외래 키가 엔터티 형식에 추가된 후 호출됩니다.

ProcessForeignKeyAdded(IConventionRelationshipBuilder, IConventionContext<IConventionRelationshipBuilder>)

외래 키가 엔터티 형식에 추가된 후 호출됩니다.

ProcessForeignKeyPrincipalEndChanged(IConventionForeignKeyBuilder, IConventionContext<IConventionForeignKeyBuilder>)

외래 키의 주체 끝이 변경된 후 호출됩니다.

ProcessForeignKeyPrincipalEndChanged(IConventionRelationshipBuilder, IConventionContext<IConventionRelationshipBuilder>)

외래 키의 주체 끝이 변경된 후 호출됩니다.

ProcessForeignKeyPropertiesChanged(IConventionForeignKeyBuilder, IReadOnlyList<IConventionProperty>, IConventionKey, IConventionContext<IReadOnlyList<IConventionProperty>>)

외래 키 속성 또는 보안 주체 키가 변경된 후 호출됩니다.

ProcessForeignKeyPropertiesChanged(IConventionRelationshipBuilder, IReadOnlyList<IConventionProperty>, IConventionKey, IConventionContext<IConventionRelationshipBuilder>)

외래 키 속성 또는 보안 주체 키가 변경된 후 호출됩니다.

ProcessForeignKeyRequirednessChanged(IConventionForeignKeyBuilder, IConventionContext<Nullable<Boolean>>)

외래 키에 대한 필수가 변경된 후 호출됩니다.

ProcessForeignKeyRequirednessChanged(IConventionRelationshipBuilder, IConventionContext<IConventionRelationshipBuilder>)

외래 키에 대한 필수가 변경된 후 호출됩니다.

ProcessForeignKeyUniquenessChanged(IConventionForeignKeyBuilder, IConventionContext<Nullable<Boolean>>)

외래 키의 고유성이 변경된 후 호출됩니다.

ProcessForeignKeyUniquenessChanged(IConventionRelationshipBuilder, IConventionContext<IConventionRelationshipBuilder>)

외래 키의 고유성이 변경된 후 호출됩니다.

ProcessKeyAdded(IConventionKeyBuilder, IConventionContext<IConventionKeyBuilder>)

키가 엔터티 형식에 추가된 후 호출됩니다.

ProcessKeyRemoved(IConventionEntityTypeBuilder, IConventionKey, IConventionContext<IConventionKey>)

이 API는 Entity Framework Core 인프라를 지원하며 공용 API와 동일한 호환성 표준이 적용되지 않는 내부 API입니다. 릴리스에서 예고 없이 변경되거나 제거될 수 있습니다. 코드에서 직접 사용해야 하며, 이렇게 하면 새 Entity Framework Core 릴리스로 업데이트할 때 애플리케이션 오류가 발생할 수 있다는 것을 알고 있어야 합니다.

ProcessModelFinalized(IConventionModelBuilder, IConventionContext<IConventionModelBuilder>)

이 API는 Entity Framework Core 인프라를 지원하며 공용 API와 동일한 호환성 표준이 적용되지 않는 내부 API입니다. 릴리스에서 예고 없이 변경되거나 제거될 수 있습니다. 코드에서 직접 사용해야 하며, 이렇게 하면 새 Entity Framework Core 릴리스로 업데이트할 때 애플리케이션 오류가 발생할 수 있다는 것을 알고 있어야 합니다.

ProcessModelFinalizing(IConventionModelBuilder, IConventionContext<IConventionModelBuilder>)

모델을 완료할 때 호출됩니다.

ProcessNavigationAdded(IConventionNavigationBuilder, IConventionContext<IConventionNavigationBuilder>)

엔터티 형식에 탐색을 추가한 후 호출됩니다.

ProcessNavigationAdded(IConventionRelationshipBuilder, IConventionNavigation, IConventionContext<IConventionNavigation>)

엔터티 형식에 탐색을 추가한 후 호출됩니다.

ProcessPropertyAdded(IConventionPropertyBuilder, IConventionContext<IConventionPropertyBuilder>)

속성이 엔터티 형식에 추가된 후 호출됩니다.

ProcessPropertyFieldChanged(IConventionPropertyBuilder, FieldInfo, FieldInfo, IConventionContext<FieldInfo>)

속성의 지원 필드가 변경된 후 호출됩니다.

ProcessPropertyNullabilityChanged(IConventionPropertyBuilder, IConventionContext<IConventionPropertyBuilder>)

속성의 null 허용 여부를 변경한 후 호출됩니다.

ProcessPropertyNullabilityChanged(IConventionPropertyBuilder, IConventionContext<Nullable<Boolean>>)

속성의 null 허용 여부를 변경한 후 호출됩니다.

ProcessSkipNavigationForeignKeyChanged(IConventionSkipNavigationBuilder, IConventionForeignKey, IConventionForeignKey, IConventionContext<IConventionForeignKey>)

건너뛰기 탐색 반전이 변경된 후 호출됩니다.

ProcessSkipNavigationInverseChanged(IConventionSkipNavigationBuilder, IConventionSkipNavigation, IConventionSkipNavigation, IConventionContext<IConventionSkipNavigation>)

건너뛰기 탐색 반전이 변경된 후 호출됩니다.

적용 대상