OnModelCreating not being called
本文关键字:called being not OnModelCreating | 更新日期: 2023-09-27 18:00:27
我已经将我的一台机器设置为具有Sql Server 2008 R2,并将我当前的数据库放入其中。
然后,我在app.config中设置了一个连接字符串,如下所示:
<add name="connectionString" connectionString="metadata=res://*;provider=System.Data.SqlClient;provider connection string="Data Source=localhost;Initial Catalog=MyDb;Integrated Security=True;"" providerName="System.Data.EntityClient" />
然后在我的上下文构造函数中,我有:
public MyDbContext()
: base("connectionString")
{
}
当我这样做时,不会调用OnModelCreating。
如何告诉EntityFramework使用特定数据库而不是默认数据库。''sqlexpress?
首先,我认为你没有正确地调用基本构造函数,你需要这样做:
public MyDbContext(string connectionString) : base(connectionString)
{
}
或者,如果你不想传入连接字符串,你需要使用一个现有的连接字符串变量:
static string connectionString = // your string here
public MyDbContext() : base(connectionString) { }
但是,总的来说,您想要实现什么,是否需要像这样覆盖ObjectContext?
EF引用的数据库是在连接字符串"数据源"answers"初始目录"属性中指定的数据库。Data Source属性决定要引用哪个sql实例。
连接字符串不太正确。因为我正在使用fluent创建模型(我猜是这样)。这是正确的连接字符串:
<add name="connectionString" connectionString="localhost;Initial Catalog=MyDb;Integrated Security=True" providerName="System.Data.SqlClient" />