c#,实体框架存储过程

Nat*_*Pet 3 c# linq entity-framework

我正在使用实体框架。我有以下几点:

var db = new LikEntities();

GetParamAlerts_Result paramRslt = db.GetParamAlerts();
Run Code Online (Sandbox Code Playgroud)

GetParamAlerts 是一个存储过程,它的类型是

System.Data.Objects.ObjectResult<GetParamAlerts_Result>
Run Code Online (Sandbox Code Playgroud)

请注意 GetParamAlerts 返回多行。

当我运行上面的代码时,出现以下错误消息:

不能隐式转换类型:

“System.Data.Objects.ObjectResult”到“PVT_Alert_Notification.GetParamAlerts_Result”

不知道如何解决这个问题。

Ste*_*n V 5

这是因为 Entity Framework 不能保证您的存储过程将始终返回单行,因此它被放入 a 中ObjectResult它只是一个可枚举的集合。如果你总是期待一个结果,你可以用db.GetParamAlerts().Single()得到的结果GetParamAlerts_Result,或使用任何标准的枚举方法,如First()FirstOrDefault()SingleOrDefault(),等。