'LINQ.SalesTaxRate'不包含'ToList'的定义,也没有扩展方法'ToList'接受第一个参数

时间:2013-05-26 08:20:25

标签: linq linq-to-sql

当我使用方法Max()。它在.ToList()给出错误,'LINQ.SalesTaxRate'不包含'ToList'的定义,并且没有扩展方法'ToList'接受类型的第一个参数可以找到'LINQ.SalesTaxRate'(您是否缺少using指令或程序集引用?)

SalesTaxRate是我的表名。

 private void Button_Click_7(object sender, RoutedEventArgs e)
                {
                    using (LinqContainer context = new LinqContainer())
                    {
                        var salesTaxRateList = (from c in context.SalesTaxRates
                                                               orderby c.SalesTaxRateID
                                                               select c).Max()
                                                                     .ToList();
                        grid.ItemsSource = salesTaxRateList;


                    }

2 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为您选择了最大的SalesTaxRate对象(使用Max),然后尝试将其转换为列表。

如果您要检索的只是TaxRate的最大值,那么只需执行Max()即可。 ToList()不是必需的,因为您只是尝试检索单个项目(而不是完整列表),并且不需要orderby,因为Max()会自动检索最大元素,而不需要整理列表。

答案 1 :(得分:0)

您可以更简单地查询

var salesTaxRateList =context.SalesTaxRates.Max(c=>c.SalesTaxRateField)

SalesTaxRateField是您想要的最大值。

另请参阅我的评论:您正在使用GRID仅显示一个结果。 Max()只返回一个值,因此网格可能不是你想要的。