簡體   English   中英

Silverlight中的部分實體加載和管理/ WCF RIA

[英]partial entity loading and management in silverlight / wcf ria

我有一個Silverlight 4應用程序,該應用程序使用WCF RIA服務從數據庫中提取實體。 這些數據對象非常簡單,只有幾個字段,但是其中一個字段包含任意大小的二進制數據。 用戶登錄后,應用程序基本上需要盡快訪問此數據,以顯示在列表中,啟用選擇等。

我的問題是由於此數據的大小,加載時間不可接受,並且可能接近RIA服務的默認超時。

我想以某種方式將對象部分加載到本地數據上下文中,以便獲得ID,名稱等,但沒有二進制數據。 然后,我可以在以后(即實際需要時)填充我需要顯示的那些對象的二進制字段。

任何有關如何實現這一目標的建議都將受到歡迎。

在寫這個問題時(我多久發生一次!),我想到的另一種方法是,我可以將二進制數據移動到與原始記錄1:1相連的單獨的數據庫表中,這將使我能夠利用RIA的延遲加載該二進制數據。

再次..評論歡迎! 謝謝。

不要更改您的數據庫。 更改您的送貨方式。

為您的項目快速列表創建一個單獨的WCF RIA服務,並使用POCO(普通的舊clr對象)發送所需數據的摘要。 然后,當您准備好大手筆時,可以一次從POCO的數據觸發下載一個。

布拉德·艾布拉姆斯Brad Abrams)尼基爾·科塔里Nikhil Kothari)談論使用POCO已有一段時間。 請查看他們的MIX演講以獲取更多信息。

為您的快速列表項創建新服務:

public class QuickListService : LinqToEntitiesDomainService<MyEntities> 
{
    private IQueryable<QuickList> GetQuickList() 
    {
        return from t in ObjectContext.Table
              select new QuickList 
               {
                      ID = t.ID,
                     Title = t.Title
              };
    }
}

您的POCO只是服務器上的一個對象,如下所示:

public class QuickList
{
    public string Title;
    public long ID;
}

祝好運!

ps Nikhil的BookClub應用程序執行了很多操作。 如果您需要查看執行此操作的真實應用程序,請下載他的應用程序: http : //www.nikhilk.net/Content/Presentations/MIX10/BookClub.zip

暫無
暫無

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

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