我正在尝试根据Pluralsight培训进行基本的数据库迁移,但是创建的数据库文件的名称与连接字符串中指定的名称不匹配。
<add name="DefaultConnection"
connectionString="Data Source=(LocalDb)\v11.0;
Initial Catalog=eManager.Web;
Integrated Security=SSPI;
AttachDbFilename=|DataDirectory|\eManager.mdf" providerName="System.Data.SqlClient" />
而不是创建 eManager.mdf ,而不是创建 DefaultConnection.mdf
在本教程中,它应该是 eManager.mdf 。
知道为什么吗?
My Db Context的定义如下:
public class DepartmentDb : DbContext, IDepartmentDataSource
{
public DepartmentDb() : base("DefaultConnetion")
{
}
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; }
}
}
更新:拼写错误&#34; DefaultConnetion&#34;在构造函数参数中:))
答案 0 :(得分:1)
base("DefaultConnetion")
使用此代码,EF将在app.config中查找具有此名称的连接字符串fail(称为“DefaultConnection”,而不是“DefaultConnetion”),并将此字符串解释为数据库名称。
答案 1 :(得分:0)
您可以通过执行以下操作将名称放入DbContext
:
public class DataContext : DbContext
{
public DataContext() : base("DefaultConnection")
{ }
//....
}