Freigeben über


ForeignKeyPropertyDiscoveryConvention Klasse

Definition

Eine Konvention, die Fremdschlüsseleigenschaften für Beziehungen basierend auf ihren Namen sucht, wobei die Groß-/Kleinschreibung ignoriert wird:

  • [Name der Navigationseigenschaft] [Name der Prinzipalschlüsseleigenschaft]
  • [Name der Navigationseigenschaft] Id
  • [Name der Prinzipalentität] [Name der Prinzipalschlüsseleigenschaft]
  • [Name der Prinzipalentität] 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
Vererbung
ForeignKeyPropertyDiscoveryConvention
Implementiert

Hinweise

Wenn keine übereinstimmenden Eigenschaften gefunden wurden, stellt die Beziehung keinen Besitz dar, die abhängige Seite ist nicht mehrdeutig und nicht abgeleitet, wenn die Beziehung 1:1 ist, werden die Primärschlüsseleigenschaften verwendet, andernfalls versucht die Konvention, Eigenschaften mit dem genauen Namen als Prinzipalschlüsseleigenschaften abzugleichen, wenn sie eine richtige Teilmenge der abhängigen PK sind.

Wenn eine Übereinstimmung gefunden wurde, die Eigenschaftentypen jedoch nicht mit den Prinzipalschlüsseltypen kompatibel sind, werden keine weiteren Übereinstimmungen gesucht.

Wenn die Beziehung Schatteneigenschaften verwendet, die durch Konvention erstellt wurden, werden sie neu erstellt, um Suffixe zu entfernen, die verwendet werden, um die Namen eindeutig zu machen.

Weitere Informationen und Beispiele finden Sie unter Modellerstellungskonventionen .

Konstruktoren

ForeignKeyPropertyDiscoveryConvention(ProviderConventionSetBuilderDependencies)

Erstellt eine neue Instanz von ForeignKeyPropertyDiscoveryConvention.

Eigenschaften

Dependencies

Abhängigkeiten für diesen Dienst.

Methoden

GetPropertyBaseName(IForeignKey)

Ruft die Zeichenfolge ab, die als Teil der Schatteneigenschaften verwendet werden soll, die für den angegebenen Fremdschlüssel erstellt wurden.

GetPropertyBaseName(IReadOnlyForeignKey)

Ruft die Zeichenfolge ab, die als Teil der Schatteneigenschaften verwendet werden soll, die für den angegebenen Fremdschlüssel erstellt wurden.

ProcessEntityTypeMemberIgnored(IConventionEntityTypeBuilder, String, IConventionContext<String>)

Wird aufgerufen, nachdem ein Entitätstypmember ignoriert wurde.

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

Wird aufgerufen, nachdem der Primärschlüssel für einen Entitätstyp geändert wurde.

ProcessForeignKeyAdded(IConventionForeignKeyBuilder, IConventionContext<IConventionForeignKeyBuilder>)

Wird aufgerufen, nachdem dem Entitätstyp ein Fremdschlüssel hinzugefügt wurde.

ProcessForeignKeyAdded(IConventionRelationshipBuilder, IConventionContext<IConventionRelationshipBuilder>)

Wird aufgerufen, nachdem dem Entitätstyp ein Fremdschlüssel hinzugefügt wurde.

ProcessForeignKeyPrincipalEndChanged(IConventionForeignKeyBuilder, IConventionContext<IConventionForeignKeyBuilder>)

Wird aufgerufen, nachdem das Prinzipalende eines Fremdschlüssels geändert wurde.

ProcessForeignKeyPrincipalEndChanged(IConventionRelationshipBuilder, IConventionContext<IConventionRelationshipBuilder>)

Wird aufgerufen, nachdem das Prinzipalende eines Fremdschlüssels geändert wurde.

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

Wird aufgerufen, nachdem die Fremdschlüsseleigenschaften oder der Prinzipalschlüssel geändert wurden.

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

Wird aufgerufen, nachdem die Fremdschlüsseleigenschaften oder der Prinzipalschlüssel geändert wurden.

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

Wird aufgerufen, nachdem die Anforderung für einen Fremdschlüssel geändert wurde.

ProcessForeignKeyRequirednessChanged(IConventionRelationshipBuilder, IConventionContext<IConventionRelationshipBuilder>)

Wird aufgerufen, nachdem die Anforderung für einen Fremdschlüssel geändert wurde.

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

Wird aufgerufen, nachdem die Eindeutigkeit für einen Fremdschlüssel geändert wurde.

ProcessForeignKeyUniquenessChanged(IConventionRelationshipBuilder, IConventionContext<IConventionRelationshipBuilder>)

Wird aufgerufen, nachdem die Eindeutigkeit für einen Fremdschlüssel geändert wurde.

ProcessKeyAdded(IConventionKeyBuilder, IConventionContext<IConventionKeyBuilder>)

Wird aufgerufen, nachdem dem Entitätstyp ein Schlüssel hinzugefügt wurde.

ProcessKeyRemoved(IConventionEntityTypeBuilder, IConventionKey, IConventionContext<IConventionKey>)

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne vorherige Ankündigung in jeder Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt in Ihrem Code verwenden und wissen, dass dies bei der Aktualisierung auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

ProcessModelFinalized(IConventionModelBuilder, IConventionContext<IConventionModelBuilder>)

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne vorherige Ankündigung in jeder Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt in Ihrem Code verwenden und wissen, dass dies bei der Aktualisierung auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

ProcessModelFinalizing(IConventionModelBuilder, IConventionContext<IConventionModelBuilder>)

Wird aufgerufen, wenn ein Modell fertig gestellt wird.

ProcessNavigationAdded(IConventionNavigationBuilder, IConventionContext<IConventionNavigationBuilder>)

Wird aufgerufen, nachdem dem Entitätstyp eine Navigation hinzugefügt wurde.

ProcessNavigationAdded(IConventionRelationshipBuilder, IConventionNavigation, IConventionContext<IConventionNavigation>)

Wird aufgerufen, nachdem dem Entitätstyp eine Navigation hinzugefügt wurde.

ProcessPropertyAdded(IConventionPropertyBuilder, IConventionContext<IConventionPropertyBuilder>)

Wird aufgerufen, nachdem dem Entitätstyp eine Eigenschaft hinzugefügt wurde.

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

Wird aufgerufen, nachdem das Sicherungsfeld für eine Eigenschaft geändert wurde.

ProcessPropertyNullabilityChanged(IConventionPropertyBuilder, IConventionContext<IConventionPropertyBuilder>)

Wird aufgerufen, nachdem die NULL-Zulässigkeit für eine Eigenschaft geändert wurde.

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

Wird aufgerufen, nachdem die NULL-Zulässigkeit für eine Eigenschaft geändert wurde.

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

Wird aufgerufen, nachdem eine navigationsinverse skip geändert wurde.

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

Wird aufgerufen, nachdem eine navigationsinverse skip geändert wurde.

Gilt für: