5

Ich versuche, meine alte App auf den neuen EF-Core zu migrieren, aber ich kann nicht einige Beziehungen wie finden:WithOptional mit Entity Framework Core-

HasRequired(o => o.Document).WithOptional(o => o.CancelNote); 

Gibt es einige Erweiterungsmethoden? Ich kann die Dokumente nicht finden.

Die HasRequired Ich denke, dass es möglich ist, mit HasOne() Methode zu ersetzen, aber wie wäre es mit der WithOptional()?

Andere Sache, nach der docs die Entität nicht verwendet das Schlüsselwort virtual, um die Navigationseigenschaften zu erstellen, wie faul Last funktioniert?

Antwort

9

Sie finden keine HasOptional äquivalente Methode in EF7. Vereinbarungsgemäß wenn Ihre FK Eigenschaft ist nullable, Sie Navigationseigenschaft wird als optionale

modelBuilder.Entity<Blog>() 
       .HasOne(p => p.Document) 
       .WithOne(i => i.CancelNote) 
       .HasForeignKey<Document>(b => b.CancelNoteForeignKey); 

über Ihre zweite Frage, EF Core (EF7) behandelt wird, nicht Lazy Loading-unterstützt. In diesem link finden Sie die Optionen, die Sie jetzt haben, um verbundene Entitäten zu laden

+0

Aber meine FK-Eigenschaft ist die Dokumenteinheit: * public virtual Document Document {get; set;} * Diese Eigenschaft sollte NULL-Werte haben? – gog

+0

Nein, was Sie darauf hinweisen, ist eine Navigationseigenschaft. Ihre FK-Eigenschaft sollte lauten: 'public int? CancelNoteForeignKey {get; set;} ' – octavioccl

Verwandte Themen