每当我使用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;
}
你的查询可以简单得多
var salesTaxRateList =context.SalesTaxRates.Max(c=>c.SalesTaxRateField)
其中SalesTaxRateField是您想要的最大值。
请参阅我的评论:您正在使用GRID仅显示一个结果。Max()将只返回一个值,所以网格可能不是你想要的。
发生这种情况是因为您选择了最大SalesTaxRate对象(Max
),然后试图将其转换为列表。
如果您试图检索的是最大TaxRate值,那么只需执行Max()
。ToList()
不是必需的,因为您只尝试检索单个项目(而不是完整列表),orderby
也不需要,因为Max()
自动检索最大元素,而不需要将列表作为一个整体排序。