gpt4 book ai didi

entity-framework - 无法先使用 Entity Framework 4.1 代码更改连接字符串

转载 作者:行者123 更新时间:2023-12-01 22:58:24 25 4
gpt4 key购买 nike

我无法首先为我的项目更改 Entity Framework 代码使用的连接字符串。我创建了一个 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; }
}

DataAccess 项目有一个名为 PLNQDB.cs 的类文件,其中包含一个类:
public class PLNQDB : DbContext
{
public DbSet<User> Users { get; set; }
}

我在我的 MVC 项目中引用了这些项目中的每一个,并且一切都构建良好并运行,甚至创建了我能够保存和检索数据的数据库文件。

运行项目时,我可以在 Autos 窗口中看到 this.db.base.Database.Connection.base.ConnectionString = 下使用的连接字符串
"Data Source=.\\SQLEXPRESS;Initial Catalog=PLNQ.DataAccess.PLNQDB;Integrated Security=True;MultipleActiveResultSets=True"

我的问题是如何覆盖这个自动生成的连接字符串以使用我的远程服务器。我在 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>

但每次我运行该项目时,它仍然使用自动生成的连接字符串。我还尝试在 DataAccess 和 DomainClasses 项目中添加具有相同连接字符串的 App.config 文件。

我错过了什么?

最佳答案

有几个选项

1 您需要命名与您的 DbContext 匹配的连接字符串类(class)名称。

例如

  <connectionStrings>
<add name="PLNQDB"
connectionString="Data Source=255.255.255.255;Initial Catalog=PLNQ;User ID=blah;Password=blah"
providerName="System.Data.SqlClient" />
</connectionStrings>

2 在您的 DbContext构造函数使用连接字符串名称调用基类构造函数
public class PLNQDB : DbContext
{
public PLNQDB():base("ApplicationServices"){}

public DbSet<User> Users { get; set; }
}

关于entity-framework - 无法先使用 Entity Framework 4.1 代码更改连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6715130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com