Visual Studio 2013实体框架-Update-Database-不创建数据库
我想学习在PluralSight的asp.net MVC。我创建了一个名为eManagr.Domain与下面的类项目(DLL): 部门/员工/ IDepartmentDatasource
Department.cs
public class Department
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual ICollection<Employee> Employees { get; set; }
}
Employee.cs
public class Employee
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
}
IDepartmentDataSource
public interface IDepartmentDataSource
{
IQueryable<Employee> Employees { get; }
IQueryable<Department> Departments { get; }
}
我创建了一个基础结构文件夹具有下列文件:DepartmentDb.cs
public class DepartmentDb : DbContext, IDepartmentDataSource
{
public DbSet<Employee> Employees {get; set;}
public DbSet<Department> Departments {get; set;}
IQueryable<Employee> IDepartmentDataSource.Employees
{
get { return Employees; }
}
IQueryable<Department> IDepartmentDataSource.Departments
{
get { return Departments; }
}
}
我然后创建使用MVC 4的另一个项目创建项目的过程中调用eManager.Web互联网模板。
当运行启用迁移,它说我有两个[eWeb.Domain,eWeb.Model.Users]然后我告诉它允许迁移使用以下命令:
启用迁移-ContextTypeName DepartmentDb
这产生迁移文件夹和被叫Configurations.cs
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
protected override void Seed(eManager.Web.Infrastructure.DepartmentDb context)
{
context.Departments.AddOrUpdate(t => t.Name,
new Department() { Name="Engineering"},
new Department() { Name = "Sales" },
new Department() { Name = "Shipping" },
new Department() { Name = "HR" }
);
}
EDIT文件 - 连接字符串从程序Web.Config -
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-eManager.Web-20140216202751;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-eManager.Web-20140216202751.mdf" providerName="System.Data.SqlClient" />
当我运行下面的我得到如下的回复: PM>更新数据库 指定“-Verbose”标志,查看被应用到目标数据库的SQL语句。 没有待处理的基于代码的迁移。 运行种子法。 PM>
运行后,我想在我的App_Data中看到一个数据库文件,但它不存在,并且当我使用SQL Server对象资源管理器时,即使这是我正在尝试执行的操作,也不会创建数据库。
谢谢..我砰的一声,很简单。我正在做的是基于我正在遵循的教程,并且这个人正在做它没有在他的班级中的连接字符串,但它在他的实例工作。 – barakisbrown