我在 ASP.Net MVC 项目中使用 EF6 和 Mapster。在我的编辑后控制器中,我试图保存数据输入表单的结果。在表单上有一个多选列表框。多选列表框中的选择正在正确传递,但我不理解将多选列表中的选定项目保存到数据库的正确方法。使用我在 DisplayName 属性下方的代码已保存,但未保存团队。(Teams 表与 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; }
}
这应该如何保存到数据库中?