2017-01-16 84 views
0

我有一個存儲過程有多個連接,將所有數據都拉到數據集中的結果集I.e中,現在我想寫一個linq查詢。我怎樣才能做到這一點?在存儲過程結果集中的Linq查詢Ado.Net

我期待:

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(); 
} 
+0

簡而言之,我想循環到rowcollection的所有行並創建一些Type的泛型集合...就像上面的例子一樣,我們可以通過定義一個類作爲trade來輕鬆完成它,並逐個循環並添加它到列表...我必須創建一個類存儲過程或EF自動執行它嗎?如何 –

回答

0

到可以在數據表寫LINQ查詢像

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

如果trade_num是整數。以此爲例,並相應地添加您的條件。

希望它能幫助你。