开发者

How do I save an object that contains and EntitySet?

开发者 https://www.devze.com 2022-12-24 07:07 出处:网络
Say I have an User (mapped to a User table) and the Edit view (in MVC) displays a multiselectlist of Modules (mapped to a Modules table) that user can access, with the Modules pre-selected based on th

Say I have an User (mapped to a User table) and the Edit view (in MVC) displays a multiselectlist of Modules (mapped to a Modules table) that user can access, with the Modules pre-selected based on the User's EntitySet of Modules.

I have tried saving the User then deleting all User_Modules manually and adding them back based on what's selected on submit, but the User has a null En开发者_开发问答titySet for User.User_Modules.

I cannot find the correct way to handle this scenario anywhere online. Can anyone help?

Edit: adding my EntitySet code

private EntitySet<UserModule> _UserModules;
    [Association(Storage = "_UserModules", ThisKey="UserId", OtherKey = "UserId")]
    public EntitySet<UserModule> UserModules
    {
        get { return this._UserModules; }
        set { this._UserModules.Assign(value); }
    }


Try checking if the set is loaded first

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 entities way...

if(!User.User_ModulesReference.IsLoaded){
     User.User_ModulesReference.Load();
 }
 //Insert delete logic here...
0

精彩评论

暂无评论...
验证码 换一张
取 消