LinqToSQl更改数据源

时间:2011-10-31 19:33:36

标签: asp.net sql database linq-to-sql orm

我正在开发一个Web应用程序项目,其中使用Visual Studio中的LinqToSql设计器生成DAL。所有数据访问逻辑都在一个单独的项目中。

我为表,视图等创建了一个具有相同结构和相同名称的数据库副本。我尝试将连接字符串更改为新源,但它无法正常工作。不知何故,它仍然访问旧数据库。

以下所有更改都失败了:

  • 更改了解决方案中现在指向新数据源的所有项目的配置文件中的连接字符串。
  • 在Visual Studio LinqToSql设计器属性中将连接字符串更改为“none”后,为DataContext创建一个分部类并将新连接字符串传递给构造函数。
  • 每当我实例化DataContext时,都会显式传递连接字符串。
  • 删除了LinqToSql项目的bin和obj文件夹的内容,并重建了所有内容。

我的项目是将新数据保存到新数据源,但是在读取数据时,它会从旧数据库中获取数据,并且当它连接到旧数据库以获取数据时也会抛出空异常。

我做错了什么?有没有解决这个问题?使用LinqToSql DataContext创建项目的最佳方法是指向具有相同数据的新数据源(例如:dev,staging,release等)?感谢。

1 个答案:

答案 0 :(得分:1)

如果您正在从旧数据库中读取数据,则项目中必须存在尚未更新的连接字符串或类似字符串。

LINQ to SQL设计器可能存在三个存储旧连接信息的地方:

  • 在app.config文件中。
  • 在Settings.settings文件中。
  • 在DataContext的默认构造函数中。

检查所有这些。

您还可以使用“查找”来搜索整个解决方案,以查找硬编码到应用程序中的旧数据库的任何其他引用。