假设我有以下对象列表
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>();
此列表中包含必要的项目数。
我需要从此List中选择不同的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)
这是我的错。我正在谷歌搜索&#34; DLinq &#34;但不是&#34; 动态LinQ &#34;。实际上答案很简单:
var q = data.Select("new (OrderNo, OrderDate)").Distinct();