我正在使用ASP.net Identity 2.2,我想与其他实体加入我的用户(可查询)。 我的DB上下文是这样的:
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 new 。
我有一个小应用程序,我不想使用DI容器。
指定的LINQ表达式包含对查询的引用 与不同的背景相关联
使用其他表加入用户的正确方法是什么?
答案 0 :(得分:0)
例如,如果您想要User
加入Class
:
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 };