EntityFrameWork添加功能:无法加载指定的元数据资源

时间:2016-01-25 14:21:17

标签: c# entity-framework ado.net-entity-data-model

我正在使用Sql server 2014并制作了ADO.NET实体数据模型。它生成了这个模型: enter image description here

我正在尝试将检索到的邮件添加到我的数据库中。它看起来像这样:

    public int StoreMail(PhishingMail PhishingMail)
    {
        using (var phishingMailStorage = new PhishFinderDB2Entities2())
        {
          //  phishingMailStorage.Database.Connection.Open();

            phishingMailStorage.PhishingMail.Add(PhishingMail);
            phishingMailStorage.SaveChanges();
        }
        return PhishingMail.PhishingMailId;
    }

每当我调试程序时。我被困在这个部分:

phishingMailStorage.PhishingMail.Add(PhishingMail);
  

它给我的元数据异常是unhandeld异常:未处理   发生了'System.Data.Entity.Core.MetadataException'类型的异常   在EntityFramework.dll中附加信息:无法加载   指定的元数据资源。

这是我的连接字符串: 我真的不知道为什么它会产生这个巨大的字符串。这可能会导致问题。

<add name="PhishFinderDB2Entities2" connectionString="metadata=res://*/DataAccess.PhishFinderModel.csdl|res://*/DataAccess.PhishFinderModel.ssdl|res://*/DataAccess.PhishFinderModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=WIN7DEV;initial catalog=PhishFinderDB;integrated security=True;pooling=False;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" /><add name="PhishFinderDB2Entities" connectionString="metadata=res://*/DataAccess.PhishFinderModel.csdl|res://*/DataAccess.PhishFinderModel.ssdl|res://*/DataAccess.PhishFinderModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(local);initial catalog=PhishFinderDB2;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /><add name="PhishFinderDB2" connectionString="metadata=res://*/DataAccess.Model1.csdl|res://*/DataAccess.Model1.ssdl|res://*/DataAccess.Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=WPNLL0038874\SQLEXPRESS;initial catalog=PhishFinderDB2;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /></connectionStrings>

你知道为什么我得到这个例外吗? 感谢

1 个答案:

答案 0 :(得分:1)

尝试删除生成的PhishFinderDB2.edmx(如果您自行调整,请记住保存数据)。 删除连接字符串。 然后重新生成整个PhishFinderDB2 ado.net模型。 对我来说这有多次帮助。