var icerikler1 = (from x in data.Tbl_Iceriklers
where x.ust_kategori_id == 96
select x).OrderByDescending(a => a.ID).Take(4);
我已经提取了最后4个内容,然后连接到转发器。我在这里没有问题。但是,我想成为
前两个记录中的ust_kategori_id == 96
。
最后,我希望成为另外两个记录的ust_kategori_id == 95
。
我怎么能这样做?
答案 0 :(得分:2)
你的意思是UNION吗?
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));
答案 1 :(得分:0)
您可以按ust_kategori_id
进行分组,过滤掉除95
和96
之外的任何群组,然后按照您指定的顺序选择每个群组中的2个:
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));