2016-12-31 30 views
0

我正在使用ASP.net Identity 2.2,並且想要與其他實體一起加入我的用戶(可查詢)。 我的數據庫環境是這樣的:使用來自UserManager的Owin用戶的可查詢並且與另一個實體加入

public class ApplicationDbContext:IdentityDbContext<ApplicationUser> 
    { 

     public ApplicationDbContext() 
      :base("DefaultConnection",throwIfV1Schema:false) 
     { 
      Configuration.ProxyCreationEnabled = false; 
      Configuration.LazyLoadingEnabled = false; 
     } 

     public DbSet<Class> Class{ get; set; } 

     public static ApplicationDbContext Create() 
     { 
      return new ApplicationDbContext(); 
     } 
    } 

我有BaseController是有這樣的事情:

public class BaseApiController : ApiController 
{ 
    protected ApplicationUserManager AppUserManager 
      { 
       get 
       { 
        return _appUserManager ?? Request.GetOwinContext().GetUserManager<ApplicationUserManager>(); 
       } 
      } 
} 

我可以讓我的用戶的可查詢像這樣在我的控制器

var users = AppUserManager.Users 

但是當我想將這些用戶加入到我的表中時,我得到以下錯誤。

我在我的Api的構造函數中使我的dbContext

我有一個小應用程序,我不想去DI容器。

指定的LINQ表達式包含對被 與不同的上下文

什麼是加入到與另一個表用戶的正確方法相關的查詢引用?

回答

0

例如,如果你想加入UserClass

var applicationDbContext = HttpContext.GetOwinContext().Get<ApplicationDbContext>(); 
var query = from user in applicationDbContext.Users 
      join class in ApplicationDbContext.Class on user.Id equals class.UserId 
      select new { user, class }; 
+0

噢,那是那麼容易我不知道我有用戶在我的DbContext。謝謝, –

相關問題