2013-05-26 22 views
0

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

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; 


        } 
+0

您正在使用GRID仅显示一个结果。 Max()只会返回一个值,所以一个网格可能不是你想要的。 – Pleun

回答

0

您查询可以更简单

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

凡SalesTaxRateField是你想要的最高值。

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

0

这是发生,因为你选择的最大SalesTaxRate对象(Max),然后试图把它变成一个列表。

如果您试图检索的是最大TaxRate值,则只需执行Max()即可。 ToList()不是必需的,因为您只是试图检索单个项目(而不是完整列表),并且不需要orderby,因为Max()可以自动检索最大元素,而无需将整个列表排序。

+0

我只想从列TaxRate中找到最大值。 –

+0

然后你不需要ToList()。 Max()将返回最大的TaxRate值作为您可以直接操作的TaxRate对象。 –

+0

已更新的答案。这是否回答你的问题? –

相关问题