我想返回将存储sqldatareader
值的列表。我怎么能这样做..
答案 0 :(得分:8)
using (var reader = cmd.ExecuteReader())
{
var result = new List<Foo>();
while (reader.Read())
{
var foo = new Foo
{
Prop1 = reader.GetInt32(0),
Prop2 = reader.GetString(1),
}
result.Add(foo);
}
}
答案 1 :(得分:1)
同时检查此前询问过的问题:How can I easily convert DataReader to List<T>?
选中此类型的通用类型:
public ConvertToList<T>(SqlDataReader sqldr, int index)
{
List<T> list = new List<T>();
while (sqldr.Read()) {
list.Add((T)sqldr.GetValue(index)); index++;
}
return list;
}
答案 2 :(得分:0)
旧的讨论,但尝试这个尺寸。
强烈输入您的字段,并将您的行转换为DbDataRecord对象。 例如:
Dim _Query = (From row In _Results.Cast(Of DbDataRecord)().AsParallel()
Select New uTyping.Profile() With {
.Id = row(0),
.Firstname = row(6)
}).ToList()