我正在为我的实体使用ninject并创建了一个自定义dbcontext,它保存了我的poco类。这是 CusDbContext 。然后我通过在 ApplicationDbContext
的基类构造函数中将它添加为参数来将* this添加到identity中public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("CusDbContext", throwIfV1Schema: false)
{
}
现在在我的webconfig中,连接字符串设置为CusDbContext。一切正常。在初始创建(当我注册用户并且.net在后台创建所有用户表的数据库时) 此数据库是本地的(本地)\ v11.0
创建表并添加用户,一切正常。然后,当我首先为代码添加迁移时,它会说明
在程序集中找到了多个上下文类型
酷,所以我使用 CusDbContext 。
PM>Enable-Migrations -ContextTypeName Library.Data.Concrete.CusDbContext
PM>Add-Migration init
我得到了错误
Library.Data.Concrete.IdentityUserLogin :: EntityType &#39; IdentityUserLogin&#39;没有定义键。为此定义密钥 的EntityType。
这是一个viewModel虽然(O.o)
为什么迁移会尝试将viewmodel添加为实体?有没有办法让一个上下文类型使用身份默认文件?我还是想用ninject。
答案 0 :(得分:0)
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
ApplicationDbContext需要这个才能构建。