Ich habe zwei Klassen wie folgt.Wie kann man mit der Fluent API eins zu viele deklarieren, ohne das Modell zu ändern?
Jetzt möchte ich das Schema so konfigurieren, dass die Beziehung in der Datenbank festgelegt ist. Mit Fluent API werde ich so etwas machen.
protected override void OnModelCreating(DbModelBuilder model)
{
base.OnModelCreating(model);
model.HasDefaultSchema("dbo");
...
model.Entity<Monkey>
.HasRequired(_ => _.Donkey)
.WithMany(_ => _.Monkeys)
.Map(_ => _.MapKey("DonkeyId"));
}
Das Problem ist, dass jetzt ich habe eine Liste von Affen in dem Esel erklären. Und ich möchte das nicht tun. Ich möchte immer noch, dass der Affe mit einem Fremdschlüssel auf einen Esel zeigt, daher reicht der erforderliche Status nicht aus, da ich meinen eigenen Spaltennamen angeben muss, um den FK zu speichern, der auf den PK in der Tabelle der Esel zeigt.
Also, das obige fehlt die Zuordnung (und es kompiliert nicht, wenn ich es einfach hinzufügen). Gibt es einen Weg, um es zu umgehen, ohne tatsächlich die Definition von Donkey Klasse zu ändern?
Rufen Sie einfach eine andere Überladung ohne Parameter - 'WithMany()' – 2kay
@ 2kay So einfach? Ist es ein empfohlener Weg? Wird es Drachen geben? Irgendwelche Hinweise werden geschätzt. –
Laut Dokumentation, ja. Benutzte es in prod, noch nie gesehen Drachen) – 2kay