假设我有一个User(映射到User表),Edit视图(在MVC中)显示用户可以访问的模块的多选列表(映射到Modules表),其中模块是根据用户的预先选择的模块的EntitySet。
我尝试保存用户,然后手动删除所有User_Module并根据提交时选择的内容将其添加回来,但是User有一个用于User.User_Modules的空EntitySet。
我找不到在线任何地方处理这种情况的正确方法。有人可以帮忙吗?
编辑:添加我的EntitySet代码
private EntitySet<UserModule> _UserModules;
[Association(Storage = "_UserModules", ThisKey="UserId", OtherKey = "UserId")]
public EntitySet<UserModule> UserModules
{
get { return this._UserModules; }
set { this._UserModules.Assign(value); }
}
答案 0 :(得分:0)
尝试检查是否先装载了该装置
Linq to SQL
DataLoadOptions options = new DataLoadOptions();
options.LoadWith<User>(c => c.User_Modules);
context.LoadOptions = options;
//Do query and then see if your EntitySet is still null.
Linq to entity way ...
if(!User.User_ModulesReference.IsLoaded){
User.User_ModulesReference.Load();
}
//Insert delete logic here...