以下代码出现以下错误:
“表达式树可能不包含动态操作”
var x = db.Data.Select(x => new { name = TitleHT[x.TitleId], x.TitleId }).GroupBy(x => x.name);
TitleHT是Dictionary<int, string>
,因此我可以查找TitleId的字符串表示形式。因此,我试图在查询中为此字符串文字指定名称。 TitleId的类型是int?不确定这是否重要。
答案 0 :(得分:5)
您使用“linq-to-sql”标记了您的问题,因此我假设db是L2S DataContext。在这种情况下,LINQ Provider会尝试将TitleHT [x.TitleId]转换为SQL语句,但无法将其转换为SQL语句。这样的事情应该有效:
var x = db.Data
.Select(x => x.TitleId)
.ToList() // Subsequent projection using LINQ-to-Objects
.Select(x => new { name = TitleHT[x], TitleId = x })
.GroupBy(x => x.name);