我用的 DbCommand
是: System.ComponentModel.Component
我正在用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);
Run Code Online (Sandbox Code Playgroud)
现在,我想使用linq迭代它:
IEnumerable<DbParameter> t = from a in command.Parameters select a;
Run Code Online (Sandbox Code Playgroud)
但它产生以下错误:
IEnumerable<DbParameter> t = command.Parameters.Cast<DbParameter>();
Run Code Online (Sandbox Code Playgroud)
你必须使用Cast<T>()
因为Parameters
is 的类型DbParameterCollection
,它实现IEnumerable
(非泛型)但不实现IEnumerable<T>
.你可以写
IEnumerable t = command.Parameters;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1195 次 |
最近记录: |