在 web.config
中,我们使用 connectionStrings
元素的 configSource
属性将连接字符串存储在单独的文件中,例如:
<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>
运行时抛出如下错误:
A section using 'configSource' may contain no other attributes or elements.
将 EFConnectionString
移动到 web.connectionStrings.config
解决了这个紧迫的问题(并且数据库查询运行没有问题),但是实体数据模型找不到它我需要刷新它或添加其他数据。
有没有办法告诉实体数据模型要么遵循 configSource
属性,要么使用 web.connectionStrings.config
来存储它的连接字符串?
最佳答案
我从这里更改了 myDbContext 的构造函数
public class myDbContext : DbContext
{
public myDbContext():base("name=myDb")
{
}
对此
public class myDbContext : DbContext
{
public myDbContext():base("myDb")
{
}
然后问题就解决了。
我不知道 myDbContext 构造函数与 configsource 有什么关系。但是这个改变解决了我的问题。
关于.net - 实体数据模型无法遵循 web.config 中的 configSource 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21000847/