DbCommand 与 Linq?
我正在使用来自:System.ComponentModel.Component
的DbCommand
我正在使用参数构建一个对象:
DbCommand command = _webERPDB.GetStoredProcCommand("mySp");
_webERPDB.AddInParameter(command, "@a", DbType.Int32, policyId);
_webERPDB.AddInParameter(command, "@b", DbType.Int32, appPolicyPrintQaCheckListId);
_webERPDB.AddInParameter(command, "@c", DbType.Int32, createdBy);
现在,我想使用linq迭代它:
IEnumerable<DbParameter> t = from a in command.Parameters select a;
但它生成以下内容错误:
I'm using DbCommand
from : System.ComponentModel.Component
I'm building an object with params :
DbCommand command = _webERPDB.GetStoredProcCommand("mySp");
_webERPDB.AddInParameter(command, "@a", DbType.Int32, policyId);
_webERPDB.AddInParameter(command, "@b", DbType.Int32, appPolicyPrintQaCheckListId);
_webERPDB.AddInParameter(command, "@c", DbType.Int32, createdBy);
And now, I want to iterate it using linq:
IEnumerable<DbParameter> t = from a in command.Parameters select a;
but it's generating following error :
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您必须使用
Cast()
因为Parameters
的类型是DbParameterCollection
,它实现了IEnumerable
(非泛型),但不是IEnumerable
。你可以写You have to use
Cast<T>()
because the type ofParameters
isDbParameterCollection
, which implementsIEnumerable
(non-generic) but notIEnumerable<T>
. You can write