如何为LinqToSql Join定义返回List <t>?</t>

时间:2010-01-23 16:03:00

标签: linq-to-sql join

我在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层?

1 个答案:

答案 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();
}