1
我在一個ASP.Net MVC項目中使用EF6和Mapster。在我的編輯後控制器中,我試圖保存數據輸入表單的結果。在表單上有一個多選列表框。多選列表框中的選擇正在順利傳遞,但我不瞭解將多選列表中的所選項目保存到數據庫的正確方法。使用下面的DisplayName屬性中的代碼將被保存,但團隊不會被保存。 (該小組表具有多對多的關係到myRecord表)更新實體和子實體列表之間的密鑰?
控制器代碼來保存修改:
var myRecord = TypeAdapter.Adapt<MyRecord>(myRecordViewModel);
myRecord.Teams = db.Teams.Where(a => myRecordViewModel .SelectedTeamIDs.Contains(a.TeamID)).ToList();
myRecord.DisplayName = myRecordViewModel.Name;
db.Entry(myRecord).State = EntityState.Modified;
db.SaveChanges();
的myRecord類:
public class MyRecord
{
[Key]
public int Id { get; set; }
public string DisplayName { get; set; }
public virtual ICollection<Team> Teams { get; set; }
}
的隊等級:
public partial class Team
{
public int TeamID { get; set; }
public string TeamName { get; set; }
public virtual ICollection<MyRecord> MyRecords{ get; set; }
}
這應該如何保存到數據庫?