我的項目中有以下對象。 「Gast」對象可以有許多「Aufenthalt」對象,而「Aufenthalt」對象可以有許多「Mitreisender」對象。每個「Mitreisender」只能分配給一個「Aufenthalt」,每個「Aufenthalt」只能分配給一個Gast。實體框架ID未設置
當我點擊Button2的則一切正常,但只適用於 「加斯特」 的ID在Aufenthalt空..
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 virtual List<Aufenthalt> Aufenthalte {get; set;}
public Gast()
{
Aufenthalte = new List<Aufenthalt>();
}
}
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; }
}
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>();
}
}
我的DbContext
[DbConfigurationType(typeof(MySqlEFConfiguration))]
class GastContext : DbContext
{
public DbSet<Gast> Gaeste { get; set; }
public DbSet<Aufenthalt> Aufenthalte { get; set; }
public DbSet<Mitreisender> Mitreisende { get; set; }
}
我的按鈕
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;
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);
}
currentGast.Aufenthalte.Add(aufenthalt);
db.Aufenthalte.Add(aufenthalt);
db.SaveChanges();
MessageBox.Show("Aufenthalt wurde angelegt");
}
}
'currentGast'如何獲得它的價值? – haim770