2013-05-26 46 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

已更新的答案。這是否回答你的問題? –

相關問題