实体数据模型无法遵循web.config中的configSource属性

3

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>

当运行时,会抛出以下错误:

使用“configSource”的部分可能不包含任何其他属性或元素。

EFConnectionString移至web.connectionStrings.config可解决此问题(且数据库查询无问题),但当需要刷新或添加其他数据时,实体数据模型无法找到它。
是否有办法告诉实体数据模型要么遵循configSource属性,要么将其连接字符串存储在web.connectionStrings.config中?

你找到答案了吗?我也遇到了类似的问题。 - bluekushal
@KushalR 很遗憾,我从未这样做过。我们几年前就停止了那个特定项目的开发,所以再也没有解决它的需要了。 - Adrian Wragg
1个回答

0

我将myDbContext的构造函数从这个改变了

public class myDbContext : DbContext
{
     public myDbContext():base("name=myDb")
    {
    }

转换成这个

public class myDbContext : DbContext
{
     public myDbContext():base("myDb")
    {
    }

问题已经解决。

我不知道我的DbContext构造函数与configsource有什么关系,但这个更改解决了我的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接