防止实体模型加载本地实例

本文关键字:实例 加载 实体模型 | 更新日期: 2023-09-27 18:07:06

我使用Database First。我已经覆盖了我的DbContext类,这样它就不会从模型的本地实例读取连接字符串:

public partial class Entities : DbContext
{
    public Entities(string cs)
        : base("name=Entities")
    {
    }
}

cs值应该用作连接字符串。

在我的App.config中,我删除了我用XXX标记的两个地方的连接字符串的值。

<connectionStrings><add name="Entities" connectionString="XXX" providerName="System.Data.EntityClient" /></connectionStrings><userSettings>
    <Prospect.Properties.Settings>
      <setting name="ConnectionString" serializeAs="String">
        <value>XXX</value>
      </setting>
    </Prospect.Properties.Settings>
  </userSettings>

当我删除这些值时,我看到程序仍然试图使用我的EntityModel的本地实例NULL,因此抛出一个异常。

我怎么能告诉我的模型总是忽略本地实例,并从我保存在.ini文件中的cs值读取连接字符串?

防止实体模型加载本地实例

将cs传递给base context:

public partial class Entities : DbContext
{
    public Entities(string cs)
        : base(cs)
    {
    }
}