如何保存包含EntitySet的对象?

时间:2010-03-29 15:25:14

标签: linq linq-to-sql

假设我有一个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); }
    }

1 个答案:

答案 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...
相关问题