私はASP.Net MVCプロジェクトでEF6とMapsterを使用しています。私の編集ポストコントローラでは、データ入力フォームの結果を保存しようとしています。フォームには、複数選択リストボックスがあります。複数選択リストボックス内の選択が正しく渡されていますが、マルチ選択リストの選択項目をdbに保存する正しい方法を理解していません。コードを使用すると、DisplayNameプロパティは保存されますが、チームは保存されません。エンティティとサブエンティティのリスト間のキーを更新していますか?
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; }
}
チーム変更を保存するには、
コントローラコードを(チーム表はmyRecordテーブルに多くの関係に多くを持っています)クラス:
public partial class Team
{
public int TeamID { get; set; }
public string TeamName { get; set; }
public virtual ICollection<MyRecord> MyRecords{ get; set; }
}
これをデータベースにどのように保存する必要がありますか?