我正在使用实体框架。
我有以下几点:
var db = new LikEntities();
GetParamAlerts_Result paramRslt = db.GetParamAlerts();
GetParamAlerts
是存储过程,类型为System.Data.Objects.ObjectResult<GetParamAlerts_Result>
请注意,GetParamAlerts返回多行。
当我运行上面的代码时,出现以下错误消息:
无法隐式转换类型:
'System.Data.Objects.ObjectResult'到'PVT_Alert_Notification.GetParamAlerts_Result'
不确定如何解决此问题。
最佳答案
这是因为Entity Framework无法保证您的存储过程将始终返回单行,因此将其放入is just an enumerable collection中的ObjectResult
中。如果始终希望得到一个结果,则可以使用db.GetParamAlerts().Single()
以GetParamAlerts_Result
的形式获取结果,或使用任何标准的可枚举方法,例如First()
,FirstOrDefault()
,SingleOrDefault()
等。