首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

Silverlight4 ria Serivces架构疑问解决办法

2012-03-09 
Silverlight4 ria Serivces架构疑问使用向导创建出实体数据模型和域服务类后生的的对像如下MyDomainContex

Silverlight4 ria Serivces架构疑问
使用向导创建出实体数据模型和域服务类后生的的对像如下
MyDomainContext,
里面对应数据库中的两个表table1 table2

后来使用linq to sql查询的时候都是直接在MyDomainContext.table1和MyDomainContext.table2里面查询的。

那table1,table2的数据是什么时候加载的,如何让table1和table2加载我想要的数据。

[解决办法]
MyDomainContext中的table1 table2你映射到数据库中的A和B表了。你linq to sql查出来的一直都是A和B表中的数据。你可以定义在MyDomainContext定义函数,函数对应数据库中的存储过程。通过存储过程的条件返回想要的内容。然后结果映射到table1 table2。
[解决办法]
通过向导时客户端应该是自动生成了一个DomainDataSource,它有个AutoLoad的属性默认设为True.也就是说它是自动加载了table1,table2的数据。细节上看就是客户端生成的DomainContext.Load(DomainContext.GetXXXQuery())被自动执行了。

还是向导的问题,如果是向导生成的一切,那么严格讲不关linq to sql的事儿。这里涉及的是linq to Entities。这两者表面上看起来差不多,但理念上还是相当不一样的。
[解决办法]
Load(query),异步的,在complete方法中获得数据,进行处理

调用Getxxx()方法时,不能得到数据,他获得的只是一个数据的查询实例,不会返回具体的数据。

实际上他是通过DataContent的Load方法将数据填充到EntitySet中,在调用Load方法之前,EntitySet是空的。

之后控件可以绑定EntitySet来显示数据,并进行增删改查的操作

热点排行