Hallo,
ich verwende Entity Framework 6 und habe ein Problem:
Ich habe eine Many to Many Beziehung zwischen Texte und Felder hergestellt, da verschiedene Texte mehrere Felder und umgekehrt haben kann.
Außerdem gehört ein Feld immer zu einer Drucksorte.
Wenn ich nun versuche einen Text zu speichern, dann wird die Drucksorte und auch alle Felder in der Datenbank dupliziert und die Felder werden der neuen Drucksorte zugeweisen.
ich verwende Entity Framework 6 und habe ein Problem:
Ich habe eine Many to Many Beziehung zwischen Texte und Felder hergestellt, da verschiedene Texte mehrere Felder und umgekehrt haben kann.
Außerdem gehört ein Feld immer zu einer Drucksorte.
Wenn ich nun versuche einen Text zu speichern, dann wird die Drucksorte und auch alle Felder in der Datenbank dupliziert und die Felder werden der neuen Drucksorte zugeweisen.
C#-Quellcode
- public class Drucksorte
- {
- public int Id { get; set; }
- public string Bezeichnung { get; set; }
- public virtual ICollection<Feld> Felder { get; set; }
- }
- public class Feld
- {
- public int Id { get; set; }
- public virtual Drucksorte Drucksorte { get; set; }
- public string Bezeichnung { get; set; }
- public virtual ICollection<Text> Texte { get; set; }
- public Feld()
- {
- this.Texte = new HashSet<Text>();
- }
- }
- public class Text
- {
- public int Id { get; set; }
- public string Bezeichnung { get; set; }
- public virtual ICollection<Feld> Felder { get; set; }
- public Text()
- {
- this.Felder = new HashSet<Feld>();
- }
- }
- private void button1_Click(object sender, EventArgs e)
- {
- Text text = new Text();
- text.bezeichnung = textBox1.text;
- foreach (object item in checkedListBox1.Items)
- {
- text.Felder.Add((Feld)item);
- }
- using (WFCDbContext db = new WFCDbContext())
- {
- db.Texte.Add(text);
- db.SaveChanges();
- }
- }