C# 为什么在ToList()上会出现编译错误?如何将每个sql列分隔为一个sprate列表元素?

C# 为什么在ToList()上会出现编译错误?如何将每个sql列分隔为一个sprate列表元素?,c#,linq,entity-framework-6,C#,Linq,Entity Framework 6,我收到一个编译错误,匿名类型不包含ToList()的定义,我不知道为什么?我见过许多使用此方法存储查询的示例。我可以执行priceResult.ToList(),但零售和批发价格列都在同一个列表元素中。因此,我无法通过选择第一个元素ect获得零售。EF&LINQ新手,仍处于学习阶段 您需要将整个LINQ放在括号内,如下所示: String priceID = codeArray[0]; var priceResult = from PRICE_LIST in priceCon

我收到一个编译错误,匿名类型不包含ToList()的定义,我不知道为什么?我见过许多使用此方法存储查询的示例。我可以执行priceResult.ToList(),但零售和批发价格列都在同一个列表元素中。因此,我无法通过选择第一个元素ect获得零售。EF&LINQ新手,仍处于学习阶段

您需要将整个LINQ放在括号内,如下所示:

 String priceID = codeArray[0];

        var priceResult = from PRICE_LIST in priceContext.PRICE_LIST
                      where PRICE_LIST.PRICE_ID == priceID
                      select new
                      {
                       PRICE_LIST.RETAIL,
                       PRICE_LIST.WHOLESALE
                      }.ToList();

否则,它会尝试将每个新对象添加到列表中

太棒了!成功了。现在,如何处理在列表的同一元素[0]中包含两个价格的结果列表?我需要从两个sql列中创建两个单独的变量。
var priceResult = (from PRICE_LIST in priceContext.PRICE_LIST
                      where PRICE_LIST.PRICE_ID == priceID
                      select new
                      {
                       PRICE_LIST.RETAIL,
                       PRICE_LIST.WHOLESALE
                      }).ToList();