LINQ to Entities域名服务

时间:2010-09-15 15:08:59

标签: .net silverlight linq linq-to-entities domainservices

我有一个域名服务,派生自LinqToEntitiesDomainService< FOOEntities>

它有一种方法,IQueryable< Bar> GetBar()。 GetBar返回实体模型的LINQ查询。 LINQ在LINQPad中运行良好。

在Silverlight的XAML中,我有一个ListBox,其ItemsSource指向在同一个XAML文件中定义的DomainDataSource,名为dsGetBar。 dsGetBar上的AutoLoad =“True”。我有一个dsGetBar的LoadedData事件的空处理程序。

我在VS2010中运行它。当我附加到WebDev.WebServer进程和浏览器实例,并加载页面时,我在GetBar()和LoadedData处理程序中点击断点。从此我乐观地推断服务正在被客户端调用。

在GetBar()中,我调用queryresults.Count,返回24,000并进行更改。我的方法返回正常,没有抛出任何异常。

所以这就是问题:

在LoadedData中,dsGetBar.Data.Count == 0. ListBox中没有任何项目出现。如果我的ListBox项目模板被破坏,我尝试使用DataGrid。同样的交易。

数据应该是数据吗?如果不是,在哪里?如果要为控件提供项目源,ItemsSource是否是正确的属性?

有没有任何已知方法可以找出服务和客户端之间的情况?

更新

服务返回504(“ReadResponse()失败:服务器没有为此请求返回响应。”)查询方法成功完成后。

更新

504因为记录数量超过65,535而发生。只有24,000多个使它通过LINQ中的where子句(没有where子句将是74,000),所以这甚至不能限制通过线路的内容。荒诞。这个数字是微观的。

我认为我们所学到的是实体框架尚未准备好在软件中使用。

更新

...或者您必须在XAML中显示大量记录时使用寻呼机。

1 个答案:

答案 0 :(得分:2)

您可以使用Fiddler查看客户端和服务器之间发生的情况。它是一个浏览器代理,拦截所有浏览器流量,以便您可以看到正在发生的事情。

不幸的是,我不知道出了什么问题。

相关问题