Subsonic 3 - последовательность не содержит соответствующего элемента - PullRequest
2 голосов
/ 01 июня 2010

Мне нужна помощь в создании LINQ SQL с дозвуковой. Сначала основы, это отлично работает:

var query = (from o in bd.concelhos
                     orderby o.descricao
                     select o);

        var results = query.ToList<concelhos>();

Однако я хочу отфильтровать некоторые столбцы и создал следующий код:

var query = (from o in bd.concelhos
                     orderby o.descricao
                     select new FilteredConcelhos { id = o.idDistrito + "/" + o.idConcelho, descricao = o.descricao });

        var results = query.ToList<FilteredConcelhos>();

, который выдает ошибку в методе ToList с описанием «Последовательность не содержит соответствующий элемент»

Любая помощь будет полезна с этим ...

обновление : Оказывается, мне не хватало атрибутов get set во вновь объявленном классе ... Вот так

public class FilteredConcelhos
{
    public string id { get; set; }
    public string descricao { get; set; }
}

Это очищает исключение, но полученный список все еще не соответствует действительности (FilteredConcelhos.id ничего не содержит, а FilteredConcelhos.descricao содержит числа)

Ответы [ 3 ]

1 голос
/ 02 июня 2010

Можете ли вы сначала попытаться выполнить ToList, а затем выбрать, а затем выполнить выбор через объекты linq 2!

0 голосов
/ 09 октября 2011

К сожалению, это случилось со мной много. Я не уверен в деталях того, как работает Linq 2 Object, но если вы вызовете ToList для исходного объекта, например:

from o in bd.concelhos.ToList()
...

Это должно сработать.

0 голосов
/ 01 июня 2010

Вы пытались работать с анонимным типом?

var query = (from o in bd.concelhos
                 orderby o.descricao
                 select new { id = o.idDistrito + "/" + o.idConcelho, 
                              descricao = o.descricao });

var results = query.ToList();
...