0

当我使用 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;


                    }
4

2 回答 2

0

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

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

于 2013-05-26T08:30:21.853 回答
0

你的查询可以更简单

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

SalesTaxRateField 是您想要的最大值。

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

于 2013-05-26T11:04:15.663 回答