0

我正在尝试从 IEnumerable 返回结果,并且我对包含我要查找的内容的一列感兴趣。但是根据我根据成员建议的答案从 ienumerable 中的循环中选择某个列值,我得到了一个编译错误:

public IEnumerable<Guid> GetGuids(int id)
{
    using (SqlCommand _command = new SqlCommand("StoredProc"))
    {
        _command.Connection = new SqlConnection(conString);
        _command.Connection.Open();
        _command.CommandType = CommandType.StoredProcedure;
        _command.Parameters.AddWithValue("@ItemID", id);

            return _command.ExecuteReader()
                  .Cast<DbDataRecord>()
                  .Select(r => (Guid)r.Item["GuidColumn"]);
    }
}

错误:DbDataRecord 不包含Item. 我该怎么做?

4

1 回答 1

3

我认为应该是:

return _command.ExecuteReader()
               .Cast<DbDataRecord>()
               .Select(r =>(Guid) r["GuidColumn"]);
于 2013-07-31T03:53:45.767 回答