Ich habe da zwei Entitäten zwei sind normal die andere ist Mapping zwischen einander jedes Mal, wenn ich Navigation Zuordnung auf Ich bekomme ungültige Objektnamen. Wenn ich versuche und map ich bekomme Tabelle bereits im Schema.EF4.3 viele bis viele Tabelle als Entität
EntityA EntityB EntityC
Id Id EntityA has FK} PrimaryKey
Name description EntityB has FK}
Die Mapping-Klassen Ich habe alle Navigation auf Entität genommen, die meine Probleme und Unternehmen verursacht danach
versuchtich diese ID in Einheit c versucht bekam aber immer noch ungültige Namenstabelle. der Name es versuchte, war zu erstellen dbo.BA, wo die eigentliche Tabelle ist dbo.tblAB
//entity.HasRequired(p => p.A).WithMany(p => p.C).HasForeignKey(p => p.EntityA);
//entity.HasRequired(p => p.B).WithMany(p => p.C).HasForeignKey(p => p.EntityB)
Ich kann die .map verwenden, weil ich die alle drei Einheiten mit in den DAL Mapping Klassen Entity verwenden müssen C
entity.HasKey(t => new {t.EntityA, t.EntityB});
entity.Property(qa => qa.EntityA).IsRequired();
entity.Property(qa => qa.EntityB.).IsRequired();
entity.toTable("tblC)
das war ausgehende Tabelle und weil wir diese Datensätze löschen müssen wir über die Entität tun. Entity B und Entity A haben ICollection Eigenschaften zu Entity C und Kartierung von
In Entity A Mapping
entity.HasMany(g => g.C).WithRequired().HasForeignKey(p => p.EntityA).WillCascadeOnDelete(false);
In Entität B Mapping
entity.HasMany(g => g.C).WithRequired().HasForeignKey(p => p.EntityB).WillCascadeOnDelete(false);
In Entität C Mapping
entity.Property(t => t.EntityA).HasColumnName("EntityA");
entity.Property(t => t.EntityB).HasColumnName("EntityB");
entity.Map(c => c.ToTable("tblC")).HasKey(t => new { t.EntityA, t.EntityB });*
Ich bekam einen Multiplikationsfehler, aber jetzt bekomme ich Invalid c Spaltenname 'EntityC_EntityA'. Ungültiger Spaltenname 'EntityC_EntityB'
UPDATE Ich habe nun das Schema mit In EntityC
[Key, Column(Order = 0), ForeignKey("EntityA")]
[Key, Column(Order = 1), ForeignKey("EntityB"))
Navigaton Eigenschaften
[ForeignKey("Id")]
public virtual EntityA EntityA { get; set; }
[ForeignKey("Id")]
public virtual EntityB EntityB { get; set; }
Mapping
entity.HasMany(g => g.Cs).WithRequired(p=>p.EntityA).HasForeignKey(p => p.EntityA).WillCascadeOnDelete(false);
entity.HasMany(g => g.Cs).WithRequired(p=>p.EntityB).HasForeignKey(p => p.EntityB).WillCascadeOnDelete(false);
in der Entität A und B fixiert 10
Das Problem wissen, dass die Abfrage versucht, die Tabelle db.BA zu erstellen. Die Abfrage ich versucht habe, ist
ctx.EntityAs.Include(p => p.Cs.Select(pr => pr.EntityB))
.Include(p => p.EntityBs.Select(pr => pr.Cs.Select(ps => ps.EntityA)))
Es ist kein Duplikat zu schließen, weil ich muß behalte die Entität und verwende nicht die Map-Funktion – user551445
Wie markiere ich dich als richtig, danke deine Hilfe hab schon anderthalb probiert, um das sortiert – user551445
Ich habe es getan sag jetzt ich komme genial Ich habe die Spaltennamen eingestellt Ungültiger Spaltenname "C_EntityA". und C_EntityB – user551445