Hallo,
ich arbeite mich gerade in das entityframework ein. Bin aber nicht sehr weit gekommen bis zur ersten fehlermeldung die ich nicht wegbekomme.
Was bisher schon funktioniert:
- Gast speichern
- Gäste auslesen
Ich versuche nun zu einem gast einen aufenthalt hinzufügen (anreisedatum, abreisedatum, mitreisende (anrede, vorname, nachname))
Da bekomm ich aber bei
diese Fehlermeldung:
ich arbeite mich gerade in das entityframework ein. Bin aber nicht sehr weit gekommen bis zur ersten fehlermeldung die ich nicht wegbekomme.
Was bisher schon funktioniert:
- Gast speichern
- Gäste auslesen
Ich versuche nun zu einem gast einen aufenthalt hinzufügen (anreisedatum, abreisedatum, mitreisende (anrede, vorname, nachname))
Da bekomm ich aber bei
diese Fehlermeldung:
An entity object cannot be referenced by multiple instances of IEntityChangeTracker.
C#-Quellcode
- private void button2_Click(object sender, EventArgs e)
- {
- using (var db = new GastContext())
- {
- Aufenthalt aufenthalt = new Aufenthalt();
- aufenthalt.Anreisedatum = dtp_aufenthalt_anreise.Value;
- aufenthalt.Abreisedatum = dtp_aufenthalt_abreise.Value;
- aufenthalt.Gast = currentGast;
- foreach (ListViewItem lvi in lv_aufenthalt_mitreisende.Items)
- {
- Mitreisender m = new Mitreisender
- {
- Anrede = lvi.SubItems[0].Text,
- Vorname = lvi.SubItems[1].Text,
- Nachname = lvi.SubItems[2].Text,
- };
- db.Mitreisende.Add(m);
- aufenthalt.Mitreisende.Add(m);
- }
- db.Aufenthalte.Add(aufenthalt);
- db.SaveChanges();
- MessageBox.Show("Aufenthalt wurde angelegt");
- }
- }
C#-Quellcode
- public class Gast
- {
- public int GastID { get; set; }
- public string Anrede { get; set; }
- public string Titel { get; set; }
- public string Vorname { get; set; }
- public string Nachname { get; set; }
- public DateTime Geburtstag { get; set; }
- public string Strasse { get; set; }
- public int Hausnummer { get; set; }
- public int Postleitzahl { get; set; }
- public string Ort { get; set; }
- public string Land { get; set; }
- public string Notizen { get; set; }
- public virtual List<Aufenthalt> Aufenthalte {get; set;}
- }
- [DbConfigurationType(typeof(MySqlEFConfiguration))]
- class GastContext : DbContext
- {
- public DbSet<Gast> Gaeste { get; set; }
- public DbSet<Aufenthalt> Aufenthalte { get; set; }
- public DbSet<Mitreisender> Mitreisende { get; set; }
- }
- public class Aufenthalt
- {
- public int AufenthaltID { get; set; }
- public DateTime Anreisedatum { get; set; }
- public DateTime Abreisedatum { get; set; }
- public virtual List<Mitreisender> Mitreisende { get; set; }
- public virtual Gast Gast { get; set; }
- public Aufenthalt()
- {
- Mitreisende = new List<Mitreisender>();
- }
- }
- public class Mitreisender
- {
- public int MitreisenderID { get; set; }
- public string Anrede { get; set; }
- public string Titel { get; set; }
- public string Vorname { get; set; }
- public string Nachname { get; set; }
- public DateTime Geburtstag { get; set; }
- public virtual Aufenthalt Aufenthalt { get; set; }
- }