考虑以下(简化)模型:
class Person {
List<Role> Roles { get; set; } //m:n navigation property
}
class PersonVM {
Person CurrentPerson { get; set; }
List<Role> AllRoles { get { return dbctx.Roles; } }
}
如何根据AllRoles
&#34;是否包含&#34;来设置显示CurrentPerson.Roles
数据绑定的数据绑定以及(未)检查的复选框。角色和(直接)修改CurrentPerson.Roles
,相应地添加/删除Role
?
截至目前,我有一个ItemAndChecked<T>
class ItemAndChecked<T>
{
public T Item { get; set; }
public bool IsChecked { get; set; }
}
我将AllRoles
复制到并相应地设置IsChecked
。绑定帮助程序集合,在保存模型之前,手动更新原始集合&#34;。但是,此解决方案引入了模型一致性问题有没有办法绑定CurrentPerson.Roles
以便直接修改它(在db上下文中)?
编辑:以下评论中有一些很棒的建议