Linq ';林克销售税率';不包含';托利斯特';没有扩展方法';托利斯特';接受第一个论点

Linq ';林克销售税率';不包含';托利斯特';没有扩展方法';托利斯特';接受第一个论点,linq,linq-to-sql,Linq,Linq To Sql,当我使用Max()方法时,它在.ToList()处给我一个错误,即“LINQ.saleTaxRate”不包含“ToList”的定义,并且找不到接受“LINQ.saleTaxRate”类型的第一个参数的扩展方法“ToList”(是否缺少using指令或程序集引用?) SalesTaxRate是我的表名 private void Button_Click_7(object sender, RoutedEventArgs e) {

当我使用Max()方法时,它在.ToList()处给我一个错误,即“LINQ.saleTaxRate”不包含“ToList”的定义,并且找不到接受“LINQ.saleTaxRate”类型的第一个参数的扩展方法“ToList”(是否缺少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;


                    }

之所以会发生这种情况,是因为您正在选择最大SalesTaxRate对象(使用
Max
),然后试图将其转换为列表


如果您试图检索的只是最大税率值,那么只需执行
Max()
ToList()
是不必要的,因为您只尝试检索单个项目(而不是完整的列表),而
orderby
也不是必需的,因为
Max()
自动检索最大元素,而无需对整个列表进行排序。

您的查询可以简单得多

var salesTaxRateList =context.SalesTaxRates.Max(c=>c.SalesTaxRateField)
其中SalesTaxRate字段是您希望最大值的值


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

我只想从列TaxRate中找到最大值。这样您就不需要ToList()。Max()将以TaxRate对象的形式返回最大TaxRate值,您可以直接操作该对象。更新答案。这是否回答了您的问题?您正在使用网格仅显示一个结果。Max()将只返回一个值,因此网格可能不是您想要的。