正如我在上一期的问题所示:"Define the key for this EntityType." when including attribute of type ApplicationUser
我需要使用单个数据库上下文,而我当前的设置是登录内容的一个上下文(在IdentityModel.cs中定义)和应用程序中所有其他数据库操作的另一个上下文(在外部定义)。
我如何使用单一上下文?我不关心现有数据。
答案 0 :(得分:4)
您当然可以使用单一上下文。
以下是我的所作所为:
public class DataContext : IdentityDbContext<ApplicationUser>
{
public DataContext()
: base("DefaultConnection")
{
}
public IDbSet<Project> Projects { set; get; }
public IDbSet<Task> Tasks { set; get; }
}
然后在帐户控制器中:
public class AccountController : Controller
{
public AccountController()
: this(new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new DataContext())))
{
}
创建新项目时:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
}
你得到的这个没有太多信息,你也可以使用它并添加你的dbsets。它有来自AccountController的引用。
答案 1 :(得分:1)
只是对用于ASP.NET身份的数据上下文进行子类化。