Как поместить результат запроса Entity Framework в список - PullRequest
3 голосов
/ 10 января 2012

Как поместить следующий результат запроса в список

var  result = from c in sb.Swithches_SW_PanalComponents
                     select new { c.ID,c.SW_PanalComponents.ComponentsName,c.ComponentValue };

Ответы [ 3 ]

6 голосов
/ 10 января 2012

ЗАКЛЮЧИТЕЛЬНОЕ РЕДАКТИРОВАНИЕ

Исходя из вашего последнего комментария, это все, что вам когда-либо нужно

List<Swithches_SW_PanalComponents> result = 
                                  sb.Swithches_SW_PanalComponents.ToList();

, что, конечно, идентично

var result = sb.Swithches_SW_PanalComponents.ToList();

РЕДАКТИРОВАТЬ

На основании ваших комментариев, я думаю, это то, что вы хотите:

List<SW_PanalComponents> result = sb.Swithches_SW_PanalComponents
                  .Select(c => new SW_PanalComponents { /* initialize your fields */ })
                  .ToList();

КОНЕЦ РЕДАКТИРОВАНИЯ

Метод ToList - это то, что вы хотите.Но рассмотрите возможность использования точечной нотации.Для таких простых запросов это намного чище и аккуратнее.

var result = sb.Swithches_SW_PanalComponents
                  .Select(c => new { c.ID, c.SW_PanalComponents.ComponentsName, c.ComponentValue })
                  .ToList();

Также обратите внимание, что, если вы просто пытаетесь выполнить запрос немедленно и вам нужно только перечислить его, вы также можете позвонить AsEnumerable()

var result = sb.Swithches_SW_PanalComponents
                  .Select(c => new { c.ID, c.SW_PanalComponents.ComponentsName, c.ComponentValue })
                  .AsEnumerable();

.Преимущество здесь в том, что результат является менее конкретным типом - IEnumerablt<T>.

4 голосов
/ 10 января 2012

Как это:

var  result =(from c in sb.Swithches_SW_PanalComponents
                     select new 
                     { c.ID,
                       c.SW_PanalComponents.ComponentsName,
                       c.ComponentValue 
                     }).ToList();
0 голосов
/ 11 января 2012

Вот что я наконец-то получил:

  List<Swithches_SW_PanalComponents> MyList = new List<Swithches_SW_PanalComponents>();
        var Result = from all in sb.Swithches_SW_PanalComponents
                     select all
                     ;
        MyList.AddRange(Result.ToList<Swithches_SW_PanalComponents>());
...