The operation cannot be completed because the DbContext has been disposed error

后端 未结 8 2047
情歌与酒
情歌与酒 2020-11-29 09:22

I\'m new to EF and I\'m trying to use an extension method which converts from my Database type User to my info class UserInfo.
I\'m using data

8条回答
  •  南笙
    南笙 (楼主)
    2020-11-29 09:44

    Change this:

    using (var dataContext = new dataContext())
    {
        users = dataContext.Users.Where(x => x.AccountID == accountId && x.IsAdmin == false);
    
        if(users.Any())
        {
            ret = users.Select(x => x.ToInfo()).ToList(); 
        }
    
     }
    

    to this:

    using (var dataContext = new dataContext())
    {
        return = dataContext.Users.Where(x => x.AccountID == accountId && x.IsAdmin == false).Select(x => x.ToInfo()).ToList();
    } 
    

    The gist is that you only want to force the enumeration of the context dataset once. Let the caller deal with empty set scenario, as they should.

提交回复
热议问题