我有一个应用程序,我正在更新。我在数据库中添加了一个存储过程,测试了它,它工作正常。
然后我更新了应用程序中的ADO模型。存储过程显示在服务器浏览器和Model浏览器的Model.Store中。当我创建一个方法来使用新的存储过程时,Intellisence使用了这个名字。我可以从Visual Studio运行存储过程。
但是,当我运行应用程序时,我得到了这个错误:
SqlException:找不到存储过程。
我使用的是Entity Framework 6.0,项目运行在.NET 4.5.2上
每个注解请求的代码。注意:代码与当前工作的其他方法相同。唯一的区别是这是在处理数据库中的一个新存储过程。
public TransactionReport TransactionReportSingle(long TransID, long
AgencyID)
TransactionReport result = null;
using(ECCustomEntities dc = new ECCustomEntities()) {
var objectResult = dc.spGetReptInfoByTransID(TransID,
AgencyID);
if(!objectResult.Equals(String.Empty) && !(objectResult
== null))
foreach(var item in objectResult) {
result = new TransactionReport() {
TransID = item.TransactionID,
CNumber = item.Number,
CaseID = item.CaseID,
SubmittedOn = item.CreatedOn,
Name = item.Name,
OName = item.OName,
Comment = item.Comment,
StatusDescription =
item.TransactionStatusTypeName,
Agency = item.Description
};
break;
}
}
return result;
}
1条答案
按热度按时间tct7dpnv1#
所以聪明的想法解决不了问题,我开始愚蠢的思考。在构建一个新项目并尝试该方法后,我最终得到了一些其他错误,导致我将EF升级到最新版本。(新项目有6.2,最新的是6.4.4)。
所以我从我正在更新的项目中删除了EF(它已经是6.4.4版了)并重新安装。现在起作用了。不知道这是什么,但如果你被卡住了,可以尝试一下。