2011-08-02 9 views
0
var icerikler1 = (from x in data.Tbl_Iceriklers 
        where x.ust_kategori_id == 96 
        select x).OrderByDescending(a => a.ID).Take(4); 

は問題here.Butを持っていない、私は、最初の2つのレコードの ust_kategori_id == 96になりたいです。 最後に、別の2つのレコードのust_kategori_id == 95になりたい。 どうすればいいですか?LINQクエリの質問

答えて

0

あなたはust_kategori_idでグループ、キー9596持つもの以外の任意のグループをフィルタリングして、順番に指定して、各グループの2を取ることができます:あなたはUNIONを

var icerikler1 = data.Tbl_Iceriklers 
        .GroupBy(x=> x.ust_kategori_id) 
        .Where(g=> g.Key == 95 || g.Key == 96) 
        .SelectMany(g=> g.OrderByDescending(a => a.ID).Take(2)); 
2

意味しますか?

var icerikler1 = (from icerik in data.Tbl_Iceriklers 
       where icerik.ust_kategori_id == 96 
       select icerik).OrderByDescending(a => a.ID).Take(2).Union((from icerik in data.Tbl_Iceriklers 
       where icerik.ust_kategori_id == 95 
       select icerik).OrderByDescending(a => a.ID).Take(2));