Как определить возвращаемый список <T>для соединения LinqToSql? - PullRequest
1 голос
/ 23 января 2010

Я использую Linq To Sql Join Query в слое DAL. Как я могу автоматически определить возврат List<T> для метода LinqToSql Join?

В настоящее время я должен вручную определить List<CustomViewType> для каждого возвращаемого значения метода LinqToSql Join.

Можно ли определить 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 Ответ

2 голосов
/ 23 января 2010

Вы все равно должны создать собственный класс для возвращаемого типа, поскольку вы не можете возвращать анонимные классы из методов. Вы можете избежать объявления и назначения списка, используя метод расширения 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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...