首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WCF数据服务:获取嵌套实体时的性能问题

WCF数据服务:获取嵌套实体时的性能问题
EN

Stack Overflow用户
提问于 2012-03-05 12:03:49
回答 1查看 469关注 0票数 0

我的数据库架构:

代码语言:javascript
复制
table : Terminology (ID (PK), Name, Comments)
table : Content (ID (PK), TerminologyID (FK), Data, LangaugeID)

1-术语与内容之间的许多关系。一个术语可以基于不同的语言ID有任意数量的内容。

术语和内容表可能有数百万条记录。

现在,即使我使用WCF数据服务从客户端获取了数百条记录(分页),但经过5-6次尝试,我得到了超时异常。

代码语言:javascript
复制
_DataService.Terminologies.Expand("Contents").Skip(index1).Take(count).ToList();

如果我不展开我的内容,查询可以正常工作:),但是我将没有内容数据。处理这种情况的最佳方法是什么。

选项...

如果我在客户端在Exapnd上使用

  1. (我的意思是在ServerSide中使用Include (我的意思是编写自定义webget方法),则会有性能改进吗?
  2. 创建数据库视图并在客户端访问它。
  3. 创建存储过程,在这里我可以传递我喜欢的LanguageID并从客户端调用它。
EN

回答 1

Stack Overflow用户

发布于 2012-03-05 13:04:25

默认情况下,这是ADO.NET DataServices构建向导吗?

在任何情况下,如果您的客户端可以直接访问数据库,它将更快,因此,如果直接db选项是可用的,那么就接受它。

如果WCF是唯一的选项,那么您将不得不创建自己的分页Web服务实现,甚至可能使用返回多个记录集的存储过程。

另外,我在服务查询中没有看到LanguageId,这可能会大大减慢速度。

代码语言:javascript
复制
_DataService.Terminologies.Expand("Contents").Skip(index1).Take(count).ToList();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9566314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档