簡體   English   中英

需要幫助調試:無法通過RIA服務,實體框架,MySQL將數據獲取到Silverlight應用程序

[英]Need help debugging: Having trouble getting data to Silverlight App through RIA Services, Entity Framework, MySQL

我正在嘗試構建一個Silverlight應用程序,該應用程序可以訪問和顯示來自MySQL數據庫的數據。 我正在嘗試使用Entity Framework為MySQL數據建模,並使用RIA Services通過EF將數據提供給Silverlight。

我的Silverlight應用程序在datagrid中顯示了正確的列,但沒有顯示數據( 圖像的備用鏈接 ):

沒有數據的DataGrid :-(

當我查看DomainService文件(用於RIA服務)時,看到以下內容:

    public IQueryable<saw_order> GetSaw_order(int intOrder)
    {
        return this.Context.saw_order
            .Where(o => o.Wo == intOrder);
    }

為了測試此步驟,我修改了LINQ以刪除where,以便我所擁有的全部return this.Context.saw_order; 當我這樣做時,我能夠檢查MySQL服務器並確認查詢實際上已發送到MySQL服務器,並且MySQL服務器是“正在寫入NET”並試圖將數據發送回去。 從我的測試機發送的查詢有效。

通過上面的測試,似乎數據已正確發送到MySQL服務器,但在返回時丟失了。 我現在的困難是試圖弄清楚數據在鏈中的哪個位置(從RIA服務到Silverlight客戶端的RIA服務)丟失了數據,我不確定如何在不同的位置進行調試。

例如,我還有什么其他方法可以測試實體框架以確保EF不是問題? 我如何測試RIA服務? 我應該在Silverlight客戶端上進行測試嗎?

我在學習C#時很掙扎,不確定要做什么。 如何在DomainService中“捕獲”返回值,以便可以進行一些基本調試。

很感謝任何形式的幫助。

像這樣更改代碼:

var qry = this.Context.saw_order.Where(o => o.Wo == intOrder);
return qry;

如果在返回處插入斷點,則可以嘗試在立即窗口中執行查詢,看看查詢是否正確執行。

通過上面的測試,似乎數據已正確發送到MySQL服務器,但在返回時丟失了。 我現在的困難是試圖弄清楚數據在鏈中的哪個位置(從RIA服務到Silverlight客戶端的RIA服務)丟失了數據,我不確定如何在不同的位置進行調試。

我使用的工具如下:Linqpad:這是用於測試我的linq to sql語句。 它非常簡單易用。

Fiddler:Fiddler將告訴您服務器和客戶端之間發生了什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM