我需要帮助创建带有亚音速的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包含数字)
答案 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()
...
应该这样做。