0

我有在其上我已經使用查詢創建的事件來獲得總量實體的數據源,但是當我結合的GridView它給異常當我將Select EntityDataSource1_QueryCreated事件添加到新的{}時,Linq查詢會發出異常。

的ObjectQuery的實例爲意想不到的結果類型 '<> f__AnonymousType3`5 '被分配給QueryCreated 事件中的查詢。與「購買」兼容的結果類型的ObjectQuery預期爲 。

DateTime dt = DateTime.Now.AddDays(-1); 
int ids=DML.getid(txtpartyname.Text); 
var pur = e.Query.Cast<purchase>(); 
     e.Query = from p in pur 
        where p.InvoiceNo == txtinvoice.Text && p.InvoiceDate > dt 
        orderby p.id descending 
        select new 
        { 
         p.Amount, 
         p.category, 
         p.description, 
         p.qty, 
         Total=p.qty*p.Amount 
        }; 
+0

請仔細閱讀[如何創建一個最小的,完整的,並且可驗證的示例](http://stackoverflow.com/help/mcve),並給我們介紹一下你的代碼,到目前爲止,你已經嘗試過什麼的更多信息。 – Peter

回答

0

綁定到GridView前,你要把你的查詢ToList()。

var pur = e.Query.Cast<purchase>(); 
    var gridViewList = (from p in pur 
       where p.InvoiceNo == txtinvoice.Text && p.InvoiceDate > dt 
       orderby p.id descending 
       select new 
       { 
        p.Amount, 
        p.category, 
        p.description, 
        p.qty, 
        Total=p.qty*p.Amount 
       }).ToList(); 
+0

您無法將匿名類型轉換爲列表。不錯的嘗試 – Akash

+0

當然可以。這可能是因爲你錯誤地將它分配給e.Query。檢查更新答案,你可以綁定新的變量到你的gridview。 –

+0

錯誤無法將類型'System.Collections.Generic.List '隱式轉換爲'System.Linq.IQueryable'。存在明確的轉換(您是否缺少演員?) – Akash

相關問題