LINQtoSQL: запрос на возврат списка <String> - PullRequest
1 голос
/ 23 марта 2010

У меня есть запрос LINQ, который возвращает некоторый объект, подобный этому ...

var query = from c in db.Customers
            where ...
            select c;

Тогда я делаю это

    List<String> list = new List<String>();
    foreach (ProgramLanguage c in query)
    {
        //GetUL returns a String
        list.Add(GetUL(c.Property,c.Property2));
    }

Есть ли способ объединить что-то в этом списке?

var query = from c in db.Customers
        where ...
         select new
         {
            GetUL(c.Property,c.Property2)
         }).ToList<String>();

Ответы [ 3 ]

3 голосов
/ 23 марта 2010

Этот запрос должен выполнить оба шага одним махом.

var list = db.Customers.Where(c => ...).
                    Select(c => GetUL(c.Property,c.Property2)).ToList()

* Обратите внимание, я предпочитаю этот синтаксис LINQ над другой версией.

2 голосов
/ 23 марта 2010
var query = db.Customers.Where(c => ...)
    .Select(c => GetUL(c.Property, c.Property2))
    .ToList();

или в синтаксисе запроса, если вы предпочитаете

var query = (from c in db.Customers
            where ...
            select GetUL(c.Property, c.Property2)).ToList();
0 голосов
/ 23 марта 2010
var slist = (from c in db.Customers
    where ...
     select new
     {
        GetUL(c.Property,c.Property2)
     }).ToList();

Кроме того, если вы еще этого не сделали, я настоятельно рекомендую загрузить и использовать LinqPad . Это небольшое приложение, которое позволяет вам экспериментировать с запросами linq (и многим другим!)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...