在web.config
中,我们使用configSource
元素的connectionStrings
属性将连接字符串存储在单独的文件中,例如:
<connectionStrings configSource="web.connectionStrings.config" />
在web.connectionStrings.config
我们有:
<connectionStrings>
<add name="DatabaseConnectionString" connectionString=" ... " />
</connectionStrings>
我刚刚向应用程序添加了实体数据模型。不幸的是,它坚持将自己的连接字符串添加到web.config中,将其保留为:
<connectionStrings configSource="web.connectionStrings.config">
<add name="EFConnectionString" connectionString=" ... " />
</connectionStrings>
在运行时抛出以下错误:
使用'configSource'的部分可能不包含其他属性或元素。
将EFConnectionString
移动到web.connectionStrings.config
解决了这个直接问题(并且数据库查询没有问题),但是当我需要刷新它或添加其他数据时,实体数据模型找不到它。
有没有办法告诉实体数据模型遵循configSource
属性,或使用web.connectionStrings.config
存储其连接字符串?
答案 0 :(得分:0)
我从这个
更改了myDbContext的构造函数public class myDbContext : DbContext
{
public myDbContext():base("name=myDb")
{
}
到这个
public class myDbContext : DbContext
{
public myDbContext():base("myDb")
{
}
并解决了问题。
我不知道myDbContext构造函数与configsource有什么关系。但这一改变解决了我的问题。