亚音速3 - 序列不包含匹配元素

时间:2010-06-01 17:58:54

标签: subsonic subsonic3

我需要帮助创建带有亚音速的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方法中出现错误,其描述为“序列不包含匹配元素”

任何帮助都会很棒...

更新: 事实证明我在新申报的班级中缺少获取设置属性... 像这样

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

这会清除异常,但生成的List仍然是错误的(FilteredConcelhos.id不包含任何内容,FilteredConcelhos.descricao包含数字)

3 个答案:

答案 0 :(得分:1)

你可以尝试先执行ToList和之后的选择 - 然后通过linq 2对象执行选择!

答案 1 :(得分:0)

您是否尝试使用匿名类型?

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

var results = query.ToList();

答案 2 :(得分:0)

不幸的是,这件事发生在我身上。我不确定Linq 2 Object如何工作的细节,但如果你在原始对象上调用ToList,就像这样:

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

应该这样做。