silverlight   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了silverlight / wcf ria中的部分实体加载和管理大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

有一个Silverlight 4应用程序,它使用WCF RIA服务从数据库中提取实体.这些数据对象相当简单,只有几个字段,但其中一个字段包含任意大小的二进制数据.应用程序需要在用户登录后基本上尽快访问此数据,在列表中显示,启用选择等. 我的问题是由于这些数据的大小,加载时间是不可接受的,并且可以接近RIA服务的默认超时. 我想以某种方式将对象部分加载到我的本地数据上下文中,以便我有ID,名称等但
我有一个Silverlight 4应用程序,它使用WCF RIA服务从数据库提取实体.这些数据对象相当简单,只有几个字段,但其中一个字段包含任意大小的二进制数据.应用程序需要在用户登录后基本上尽快访问此数据,在列表中显示,启用选择等.

我的问题是由于这些数据的大小,加载时间是不可接受的,并且可以接近RIA服务的认超时.

我想以某种方式将对象部分加载到我的本地数据上下文中,以便我有ID,名称等但不是二进制数据.然后我可以在稍后(即实际需要时)填充我需要显示的那些对象的二进制字段.

有关如何实现这一目标的任何建议都将受到欢迎.

在编写这个问题时我发现的另一种方法(这种情况经常发生的情况是什么?!)是我可以将二进制数据移动到与原始记录1:1连接的单独数据库表中,这样我就可以使用RIA的延迟加载该二进制数据.

再次..评论欢迎!谢谢.

解决方法

不要更改您的数据库.更改您的交付方式.

为您的快速项目列表创建单独的WCF RIA服务,并使用POCO(普通旧clr对象)向下发送所需数据的摘要.然后,当你为大家伙做好准备时,你可以从POCO的数据中一次下载一个.

Brad AbramsNikhil 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;
}

祝好运!

附: Nikhil的BookClub应用程序做了很多.如果您需要查看真正的应用程序,请下载他的应用程序:http://www.nikhilk.net/Content/Presentations/MIX10/BookClub.zip

大佬总结

以上是大佬教程为你收集整理的silverlight / wcf ria中的部分实体加载和管理全部内容,希望文章能够帮你解决silverlight / wcf ria中的部分实体加载和管理所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。