LINQ to SQL - 不支持ToDictionary - 如何将结果提取到内存中?

Log*_*gan 4 c# linq-to-sql

  var details= from row in databaseTable
    where row.id equals queryId
    select new 
     {
       Dict = row.ToDictionary(x => x.Name, x => x.Value),
     };
Run Code Online (Sandbox Code Playgroud)

执行此LINQ to SQL时,我得到错误;

System.NotSupportedException:不支持查询运算符"ToDictionary".

我需要做的是先将行拉入内存,但我不确定如何.我尝试在各个地方调用ToList,但没有运气.

Mik*_*ike 5

var fixTotaliserDetails = (from row in databaseTable
                           where row.id == queryId
                           select new 
                           {
                             row.Name,
                             row.Value,
                           })
                          .ToDictionary(x=>x.Name, x=>x.Value);
Run Code Online (Sandbox Code Playgroud)

这会奏效.我认为你可能过度简化了你的答案,因为在linq-to-sql中,表中的项目没有实现IEnumerable<T>