Ich habe ein sehr einfaches Modell:EF 7 Beta 6: Entities mit einer zu vielen Beziehungen in EF 7
class Bag
{
public int Id { get; set; }
public ICollection<RandomThing> RandomThings { get; set; }
}
class RandomThing
{
public int Id { get; set; }
public String Description{ get; set; }
}
OnModelCreating
My Kontext (in EF 6) ist so etwas wie:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Bag>()
.ToTable("Bag")
.HasMany(x => x.RandomThings).WithRequired(x => x.Bag).WillCascadeOnDelete();
modelBuilder.Entity<RandomThing>().ToTable("RandomThing");
}
Soweit ich sagen kann, gibt es keine gleichwertige Möglichkeit, dies zu tun. Ich weiß das cascade deletes are not supported. Wie auch immer, ich frage mich, was ist der beste Weg, um die eine zu vielen Beziehungen zu modellieren, wie in meinem Codebeispiel definiert? Es scheint, als ob all das Zeug verschwunden ist (oder noch zu implementieren ist).
Ich habe ein Beispiel() einer DbContext
genau wie ich will gesehen, aber es ist eigentlich falsch und funktioniert nicht. Wenn ich versuche, den Quellcode zu entfernen, meine Umgebung einzurichten und eine Blog-Entität mit Posts zu speichern, werden diese Posts nicht so gespeichert, wie man es sich vorstellt.
Gibt es Workarounds dafür?
wenn ich einen context.Add (bag) mache, gefolgt von einem context.Save(), nur die Bag-Entität wird gespeichert (nur die Id) die RandomThings-Sammlung wird nicht entsprechend gespeichert. – Lutando
In EF 7 müssen Sie jetzt .Add() aufrufen, um auch RandomThings zu erreichen, aber dies wird sich wahrscheinlich in kommenden Betas ändern (willkommen zur Freude der Vorabversion). – natemcmaster
Vielen Dank. Ich habe das schon gemacht, ich habe mich nur gefragt, ob es einen umfassenderen Weg gibt, es bisher zu tun. – Lutando