Linq to sql 在LINQ中将数据库名称动态设置为SQL
我正在使用LINQtoSQL从我的应用程序连接到数据库。当我将环境从生产环境更改为临时环境时,我可以在web.config中更新连接字符串。 但当环境发生变化时,我还需要更新一个值。这是数据库名。在LINQtoSQLDesigner文件中,数据库名称被称为属性,如-Linq to sql 在LINQ中将数据库名称动态设置为SQL,linq-to-sql,dynamic-data,Linq To Sql,Dynamic Data,我正在使用LINQtoSQL从我的应用程序连接到数据库。当我将环境从生产环境更改为临时环境时,我可以在web.config中更新连接字符串。 但当环境发生变化时,我还需要更新一个值。这是数据库名。在LINQtoSQLDesigner文件中,数据库名称被称为属性,如- [System.Data.Linq.Mapping.DatabaseAttribute(Name="somedbname")] 如何从某个配置文件中动态提取名称的值 非常感谢您的帮助。如图所示 “仅当连接本身未指定数据库名称时,
[System.Data.Linq.Mapping.DatabaseAttribute(Name="somedbname")]
如何从某个配置文件中动态提取名称的值
非常感谢您的帮助。如图所示
“仅当连接本身未指定数据库名称时,才使用数据库名称。”
所以你可以删除这个属性,一切都会好起来的 我使用了一个包装器类来提供上下文
public DataContext Context = new DataContext(SqlConnectionString); //much simplified
我通过在Visual Studio外部编辑.dbml文件(设计器似乎不允许访问DatabaseAttribute)并删除此处的name属性修复了此问题:
<Database Name="BadName" Class="OutputDataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
(请注意,接受的答案不再正确:此属性覆盖了我的连接字符串)我发现从dbml.cs文件中删除数据库属性时,没有给出任何错误或异常。因此,此属性不是强制的,而是由设计器默认添加的。您可以拒绝接受接受的答案吗?这已不再正确。