Bagikan melalui


ForeignKeyPropertyDiscoveryConvention Kelas

Definisi

Konvensi yang menemukan properti kunci asing untuk hubungan berdasarkan namanya, mengabaikan kasus:

  • [nama properti navigasi] [nama properti kunci utama]
  • [nama properti navigasi] Id
  • [nama entitas utama] [nama properti kunci utama]
  • [nama entitas utama] Id
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
Warisan
ForeignKeyPropertyDiscoveryConvention
Penerapan

Keterangan

Jika tidak ada properti yang cocok yang ditemukan, hubungan tidak mewakili kepemilikan, sisi dependen tidak ambigu dan tidak diturunkan maka jika hubungannya satu-ke-satu, properti kunci utama digunakan, jika tidak konvensi mencoba mencocokkan properti dengan nama yang tepat sebagai properti kunci utama jika mereka adalah subset yang tepat dari PK dependen.

Jika kecocokan ditemukan, tetapi jenis properti tidak kompatibel dengan jenis kunci utama, tidak ada kecocokan lebih lanjut yang dicari.

Jika hubungan menggunakan properti bayangan yang dibuat oleh konvensi, mereka dibuat ulang untuk menghapus akhiran yang digunakan untuk membuat nama unik.

Lihat Konvensi pembuatan model untuk informasi dan contoh selengkapnya.

Konstruktor

ForeignKeyPropertyDiscoveryConvention(ProviderConventionSetBuilderDependencies)

Membuat instans baru .ForeignKeyPropertyDiscoveryConvention

Properti

Dependencies

Dependensi untuk layanan ini.

Metode

GetPropertyBaseName(IForeignKey)

Mendapatkan string yang harus digunakan sebagai bagian dari properti bayangan yang dibuat untuk kunci asing yang diberikan.

GetPropertyBaseName(IReadOnlyForeignKey)

Mendapatkan string yang harus digunakan sebagai bagian dari properti bayangan yang dibuat untuk kunci asing yang diberikan.

ProcessEntityTypeMemberIgnored(IConventionEntityTypeBuilder, String, IConventionContext<String>)

Dipanggil setelah anggota jenis entitas diabaikan.

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

Dipanggil setelah kunci primer untuk jenis entitas diubah.

ProcessForeignKeyAdded(IConventionForeignKeyBuilder, IConventionContext<IConventionForeignKeyBuilder>)

Dipanggil setelah kunci asing ditambahkan ke jenis entitas.

ProcessForeignKeyAdded(IConventionRelationshipBuilder, IConventionContext<IConventionRelationshipBuilder>)

Dipanggil setelah kunci asing ditambahkan ke jenis entitas.

ProcessForeignKeyPrincipalEndChanged(IConventionForeignKeyBuilder, IConventionContext<IConventionForeignKeyBuilder>)

Dipanggil setelah akhir utama kunci asing diubah.

ProcessForeignKeyPrincipalEndChanged(IConventionRelationshipBuilder, IConventionContext<IConventionRelationshipBuilder>)

Dipanggil setelah akhir utama kunci asing diubah.

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

Dipanggil setelah properti kunci asing atau kunci utama diubah.

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

Dipanggil setelah properti kunci asing atau kunci utama diubah.

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

Dipanggil setelah keharusan untuk kunci asing diubah.

ProcessForeignKeyRequirednessChanged(IConventionRelationshipBuilder, IConventionContext<IConventionRelationshipBuilder>)

Dipanggil setelah keharusan untuk kunci asing diubah.

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

Dipanggil setelah keunikan untuk kunci asing diubah.

ProcessForeignKeyUniquenessChanged(IConventionRelationshipBuilder, IConventionContext<IConventionRelationshipBuilder>)

Dipanggil setelah keunikan untuk kunci asing diubah.

ProcessKeyAdded(IConventionKeyBuilder, IConventionContext<IConventionKeyBuilder>)

Dipanggil setelah kunci ditambahkan ke jenis entitas.

ProcessKeyRemoved(IConventionEntityTypeBuilder, IConventionKey, IConventionContext<IConventionKey>)

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Core Kerangka Kerja Entitas baru.

ProcessModelFinalized(IConventionModelBuilder, IConventionContext<IConventionModelBuilder>)

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Core Kerangka Kerja Entitas baru.

ProcessModelFinalizing(IConventionModelBuilder, IConventionContext<IConventionModelBuilder>)

Dipanggil ketika model sedang diselesaikan.

ProcessNavigationAdded(IConventionNavigationBuilder, IConventionContext<IConventionNavigationBuilder>)

Dipanggil setelah navigasi ditambahkan ke jenis entitas.

ProcessNavigationAdded(IConventionRelationshipBuilder, IConventionNavigation, IConventionContext<IConventionNavigation>)

Dipanggil setelah navigasi ditambahkan ke jenis entitas.

ProcessPropertyAdded(IConventionPropertyBuilder, IConventionContext<IConventionPropertyBuilder>)

Dipanggil setelah properti ditambahkan ke jenis entitas.

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

Dipanggil setelah bidang dukungan untuk properti diubah.

ProcessPropertyNullabilityChanged(IConventionPropertyBuilder, IConventionContext<IConventionPropertyBuilder>)

Dipanggil setelah kemampuan null untuk properti diubah.

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

Dipanggil setelah kemampuan null untuk properti diubah.

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

Dipanggil setelah navigasi lewati terbalik diubah.

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

Dipanggil setelah navigasi lewati terbalik diubah.

Berlaku untuk