2009-09-14 56 views
5

我正在使用LINQ to SQL从我的应用程序连接到数据库。当我将生产环境从生产环境转移到分级时,我可以在web.config中更新我的连接字符串。 但是当环境改变时,我需要更新一个值。这是数据库名称。在LINQ to SQL设计文件,数据库名称被提及作为属性喜欢 -在LINQ to SQL中动态设置数据库名称

[System.Data.Linq.Mapping.DatabaseAttribute(Name="somedbname")] 

我怎么能动态地从一些配置文件拿起值名称?

任何帮助真的很感激。

作为对 http://msdn.microsoft.com/en-us/library/system.data.linq.mapping.databaseattribute.name.aspx

提到

+1

我发现从dbml.cs文件中删除数据库属性,没有给出任何错误或异常。所以这个属性不是强制性的,而是由设计师默认添加的。 – 2009-09-18 08:52:40

+0

你能不接受接受的答案吗?它不再正确。 – 2017-11-20 18:45:25

回答

4

“的数据库名称仅用于如果连接本身不指定数据库名称。” 所以你可以删除这个属性,所有的工作都会很好!

0

我用的包装类,以提供沿

public DataContext Context = new DataContext(SqlConnectionString); //much simplified 
0

我编辑的Visual Studio之外的.dbml文件解决了这个问题行上下文(设计师似乎并没有允许访问到DatabaseAttribute)和摆脱name属性在这里:

<Database Name="BadName" Class="OutputDataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007"> 

(注意,接受的答案不再是正确的:这个属性是压倒一切的我的连接字符串)