Cha*_*ers 3 entity-framework connection-string ef-code-first asp.net-mvc-3
我无法首先为我的项目更改实体框架代码使用的连接字符串.我创建了一个MVC3项目,然后添加了两个项目,DomainClasses和DataAccess.
DomainClasses项目有一个名为Classes.cs的类文件,其中包含一个类:
public class User
{
public int ID { get; set; }
public string Username { get; set; }
public string EmailAddress { get; set; }
public string Password { get; set; }
public int StatusID { get; set; }
public DateTime DateCreated { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
DataAccess项目有一个名为PLNQDB.cs的类文件,其中包含一个类:
public class PLNQDB : DbContext
{
public DbSet<User> Users { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我在我的MVC项目中引用了这些项目中的每一个,并且所有内容都构建良好并运行,甚至创建了我能够保存并从中检索数据的数据库文件.
运行项目时,我可以在Autos窗口中看到在this.db.base.Database.Connection.base.ConnectionString =下使用的连接字符串
"Data Source=.\\SQLEXPRESS;Initial Catalog=PLNQ.DataAccess.PLNQDB;Integrated Security=True;MultipleActiveResultSets=True"
Run Code Online (Sandbox Code Playgroud)
我的问题是如何覆盖此自动生成的连接字符串以使用我的远程服务器.我已经将连接字符串添加到MVC项目的web.config文件中.
<connectionStrings>
<add name="ApplicationServices"
connectionString="Data Source=255.255.255.255;Initial Catalog=PLNQ;User ID=blah;Password=blah"
providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
但每次我运行项目时,它仍然使用自动生成的连接字符串.我还尝试在DataAccess和DomainClasses项目中添加具有相同连接字符串的App.config文件.
我错过了什么?
Era*_*nga 15
有几种选择
1您需要命名与您的DbContext类名匹配的连接字符串.
例如
<connectionStrings>
<add name="PLNQDB"
connectionString="Data Source=255.255.255.255;Initial Catalog=PLNQ;User ID=blah;Password=blah"
providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
2在DbContext构造函数中,使用连接字符串名称调用基类构造函数
public class PLNQDB : DbContext
{
public PLNQDB():base("ApplicationServices"){}
public DbSet<User> Users { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5000 次 |
| 最近记录: |