使用linq时返回匿名类型结果

时间:2019-03-29 15:03:19

标签: c# wpf linq entity-framework-6

我有GetOrders方法,该方法返回我用来绑定数据网格的匿名类型结果。数据网格仅用于读取目的。

这是返回匿名类型结果的方法。

public IEnumerable GetOrders()
{
   var q=(from pd in dataContext.tblProducts 
   join od in dataContext.tblOrders on pd.ProductID equals od.ProductID 
   orderby od.OrderID 
   select new { 
     od.OrderID,
     pd.ProductID,
     pd.Name,
     pd.UnitPrice,
     od.Quantity,
    od.Price,
             }).ToList(); 
}

到目前为止,它工作正常,但我不知道这是否是从方法返回匿名类型结果的正确方法?

1 个答案:

答案 0 :(得分:4)

之所以可行,是因为另一侧使用反射来确定结构,但是一般的经验法则是,您不应在方法的边界上使用匿名类型。

相反,您应该创建适当的类以返回结果。