我创建了一个新的ASP.NET MVC项目,我使用的是代码优先。我已将ASP.NET Identity添加到此项目enabled-migration中,并且可以在sql server express上查看我的数据库中的表。
我有一个“DefaultConnection”指向sqlserver上的数据库,如下所示:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.\SQLExpress;database=worksmartDB;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
现在,我很困惑如何通过代码首先将我的实体添加到同一个数据库中?以下是我的结构:
模型
Applicant
Template
MyProjectContext(which dervies from DBContext)
public class MyProjectContext: DbContext
{
public MyProjectContext() : base("DefaultConnection")
{
}
public DbSet<Applicant> Applicants { get; set; }
public DbSet<Template> Templates { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
}
我尝试为此上下文启用迁移,但收到以下错误:
The context type 'MyProjectContext' was not found in the assembly 'MyProject'
我想为身份和实体使用相同的数据库。
答案 0 :(得分:1)
嗯,我让它工作,不知道这是否是正确的方法。
然而,
在新项目中添加标识时,应执行以下操作:
- Change public ApplicationDbContext()
: base("YourConnection", throwIfV1Schema: false)
Note: this connection string should point to the same database you are going to use
- Run the application in browser
- Register a user (this will create the database for you, if one does not exist)
- Now Enable-Migrations
- Update-Database
这是在项目中添加标识的一种方法。