(有人修改我的问题吗?)
我发现当一个过程没有select而只包含Return 1;
时,自动生成的datacontext代码是这样的:
IExecuteResult result = this.ExecuteMethodCall(this,
((MethodInfo)(MethodInfo.GetCurrentMethod())));
return ((int)(result.ReturnValue));
但是当我在前面加上语句 SELECT GETDATE() AS Date,'Boolean' AS Name;Return 1;
时,它看起来像这样:
IExecuteResult result = this.ExecuteMethodCall(this,
((MethodInfo)(MethodInfo.GetCurrentMethod())));
return ((ISingleResult<Test_GetReturnValue2Result>)(result.ReturnValue));
当过程返回结果集时,我似乎无法从过程中获取返回值。
我希望无法同时访问结果集(由 SELECT GETDATE() AS Date,'Boolean' AS Name;
指定)和返回值(由 Return 1;
指定)
任何人都可以(以更简单的方式)处理这个问题吗?
最佳答案
你应该看看 IMultipleResults 接口(interface):
http://msdn.microsoft.com/en-us/library/system.data.linq.imultipleresults.aspx
当然你可以用它做你想做的事,也许不是你想要的。
关于c# - 我可以从使用 Linq to sql 的过程中接收返回值和结果集吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8035444/