2016-08-19 64 views
0

新對象,假設我有以下對象選擇和鮮明與的DLinq

public class OrderInfo 
{ 
    public string OrderNo {get; set;} 
    public DateTime OrderDate {get; set;} 
    public decimal OrderAmount {get; set;} 
    public decimal OrderPrice {get; set;} 
} 

的列表作爲

List<OrderInfo> data = new List<OrderInfo>(); 

和這個名單中有物品的必要數量。

我需要從此列表中選擇不同的OrderNo,OrderDate對。在Linq我可以寫一個查詢爲:

var q = (from x in data 
     group x by new { x.OrderNo, x.OrderDate } 
     into grp 
     select new 
     { 
      grp.Key.OrderNo, 
      grp.Key.OrderDate 
     }).Distinct(); 

事情是我正在寫一個泛型方法,以便對象類型和屬性是未知的。所以我必須用DLinq寫這個。

如果我有一個List<T>string[] { "OrderNo", "OrderDate" }的列表,我該如何在運行時將這個示例與DLinq一起使用?

+0

讓那個對象從接口繼承,然後設置類型約束類型必須從接口 –

+0

這將幫助不大inherhit,因爲這是一個廣義的方法,該方法應該以任何類型運行。而這些類型並不意味着有任何共同點。 – user3021830

回答

0

這是我的錯。我是谷歌搜索「DLinq」,但不是「動態LinQ」。其實答案是很簡單:

var q = data.Select("new (OrderNo, OrderDate)").Distinct();