【发布时间】:2016-05-01 21:29:33
【问题描述】:
我正在使用 Sql server 2014 并制作了 ADO.NET 实体数据模型。它生成了这个模型:
我正在尝试将我检索到的邮件添加到我的数据库中。它看起来像这样:
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);
它给了我元数据异常是未处理的异常:未处理的异常 发生“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="data source=WIN7DEV;initial catalog=PhishFinderDB;integrated security=True;pooling=False;multipleactiveresultsets=True;application name=EntityFramework"" 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="data source=(local);initial catalog=PhishFinderDB2;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" 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="data source=WPNLL0038874\SQLEXPRESS;initial catalog=PhishFinderDB2;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /></connectionStrings>
你知道我为什么会得到这个异常吗? 谢谢
【问题讨论】:
-
这可能是您的 PhishingMail 类是静态的并且参数 PhishingMail 与您的类名混淆了吗?也许这不是原因 - 但你应该在任何情况下保持你的参数小写符合惯例,例如public int StoreMail(PhishingMail phishingMail)
标签: c# entity-framework ado.net-entity-data-model