我在DAL层使用Linq To Sql Join Query,如何为LinqToSql Join方法自动定义返回List<T>
?
现在,我必须为每个LinqToSql Join方法的返回值手动定义List<CustomViewType>
。
是否可以像以下代码一样定义List<T>
:
public static List<T> GetJoinList()
{
List<T> list = new List<T>();
list = from c in customers
join o in orders on o.customerid equals c.customerid
select new { CustomerID = c.CustomerId, OrderDate = o.OrderDate } ;
return list.ToList() ;
}
实际上,我的意思是如何将匿名类型列表从DAL层传递给BLL层?
答案 0 :(得分:2)
您仍必须为返回类型创建自定义类,因为您无法从方法返回匿名类。您可以使用ToList()
扩展名方法避免声明和分配列表:
public static List<CustomViewType> GetJoinList()
{
return (from c in customers
join o in orders on o.customerid equals c.customerid
select new CustomViewType { CustomerID = c.CustomerId, OrderDate = o.OrderDate}).ToList();
}