Linq查询存储过程结果集Ado.Net

时间:2017-01-16 08:22:47

标签: entity-framework linq

我有一个带有多个连接的存储过程,将所有数据拉入数据集中的结果集,现在我想在它上面写一个linq查询。我怎样才能做到这一点?

我期待:

IEnumerable<SomeType> result;

[我需要知道如何定义SomeType的属性。]

这是我尝试的但看起来不高效。

SqlCommand cmd = new SqlCommand("Select top 10 * from trade"); 
cmd.Connection = con; 

if (con.State != ConnectionState.Open) 
{ 
    con.Open(); 
}   

SqlDataReader dr = cmd.ExecuteReader(); 
DataTable dt = new DataTable(); 

dt.Load(dr); 
var result = dt.AsEnumerable(); 

string valresukir = string.Empty; 

var sortResult = result.OrderBy(x => Convert.ToInt32(x["trade_num"]) > 12); 
string valuedata = string.Empty; 

foreach (var i in sortResult) 
{ 
    valuedata += i["trade_num"].ToString(); 
}

1 个答案:

答案 0 :(得分:0)

可以在数据表上编写linq查询,如

var data= from dataRow in dt.AsEnumerable()
          where dataRow.Field<int>("trade_num") > 12
          select dataRow

如果trade_num是整数。以它为例,相应地添加条件。

希望它会对你有所帮助。