我有一个名为quote的表,他有很多服务,每个服务都附有很多人员。
quote:
public int Id {get; set;}
pbulic ICollection<Services> services {get;set}
Services:
public int Id {get;set;}
public int QuoteId {get;set;}
[ForeignKey("QutoeId")]
public Quote quote {get;set;}
public ICollection<Staff> Staff {get;set;}
Staff:
public Int Id {get;set;}
public ServiceId {get;set;
[ForeignKey("StaffId")]
public Service service {get;set;}
public string StaffName {get;set;}
这不是我的真实数据库所以忽略任何拼写错误。 (或不正确的编码礼仪。
我遇到的问题。我想将表保存到数据库中吗? 我有一个Quote对象,有许多服务,有很多员工。
我是否必须通过它们来手动将它们手动添加到数据库中。
我只是尝试过:
dbContext.Quote.Add(quote);
dbContext.SaveChanges();
但是这只将Quote表保存到数据库而不是子表。 我是否必须做一些愚蠢的事情:
foreach (var staff in Quote.Services.Staff)
{
dbContext.Staff.Add(staff)
}
foreach (var service in Quote.Services)
{
dbContext.Services.Add(services)
}
答案 0 :(得分:0)
您必须简单地将子表添加到dbcontext及其父级。 你可以尝试这个,如下所述:
dbContext.Quote.Add(quote);
foreach (var service in Quote.Services)
{
quote.services .Add(service);
dbContext.Services.Add(service);
}
dbContext.SaveChanges();
同样将staff对象添加到其父服务对象和dbcontext