是否可以使用LINQ从存储过程中返回返回值和结果集

是否可以使用LINQ从存储过程中返回返回值和结果集,第1张

是否可以使用LINQ从存储过程中返回返回值和结果集

在LINQ to SQL DataContext设计器中通过从服务器资源管理器中拖动存储过程来创建存储过程时,设计器将分析该存储过程,以确定它是否返回结果集。除非它具有沉重的动态SQL,否则通常都是这样。

如果是这样,则生成的方法将返回

ISingleResult<T>
where
T
是根据对sproc进行分析以生成适合结果集形状的类,或者是在sproc属性页中指定的类。因为
ISingleResult
派生
IEnumerable
,大多数人对结果进行简单的foreach以获得他们的结果集。但大多数人忘记的是,
ISingleResult


派生自
IFunctionResult
,其中有一个叫做财产
ReturnValue
这是sproc的返回值。

因此,您所要做的只是以下几方面的事情:

using(var dc = new MyDataContext()){    var results = dc.MyStoredProcedure();    var returnValue = (int)results.ReturnValue; // note that ReturnValue is of type object and must be cast.    foreach(var row in results)    {        // process row    }}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4940489.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-13
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存