Mit dem Code zuerst Ansatz mit Entity Framework 6.1.3
, ich versuche, erstellen und konfigurieren Sie meine eigene Viele-zu-viele-Tabelle basierend auf this post. I stark stimme ihm zu: Ich möchte nicht den Konventionen folgen, weil das mein Design einschränkt.Entity Framework 6 - Primärschlüssel auf Navigationseigenschaft
Siehe die many-to-many with payload Klasse in dem Code Erstens:
public class FooBar
{
[Key, Column(Order = 1)]
public virtual Foo Foo { get; set; }
[Key, Column(Order = 2)]
public virtual Bar Bar { get; set; }
//some more 'payload' properties
}
Ich mag es auf diese Weise halten, ohne die skalare Eigenschaften hinzufügen. So Ich mag nicht diese Eigenschaften in meinem Modell:
public int FooId { get; set; }
public int BarId { get; set; }
Meine Frage ist speziell wenn es in Entity Framework 6 möglich ist, eine Navigationseigenschaft wie diese als (Composite) Schlüssel zu haben? Most answers zu dieser Frage wurde auf früheren Versionen von Entity Framework basiert, und es war dann nicht möglich. Die Frage ist also, ist es jetzt möglich?
In this answer ist erwähnt, dass:
Sie benötigen Klassen in einer bestimmten Art und Weise zu installieren, so dass EF erkennt, was Ihr zu erreichen versuchen.
Aber es ist mir immer noch unklar, ob es technisch möglich ist. Und wenn ja, könnte jemand ein Muster im Code zur Verfügung stellen, wie man das erreicht?
Die letzte Antwort EF6 ist auch, und es sagt, es ist nicht möglich (obwohl nicht sehr klar angegeben, aber die Informationen sind immer noch auf dem neuesten Stand). –
@GertArnold Ah ich sehe, ich habe die letzte Antwort falsch gelesen (meine schlechte). Ich denke, ich muss leider die Skalareigenschaften hinzufügen, leider. – QuantumHive