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