【发布时间】:2013-05-07 16:12:42
【问题描述】:
我有一个表“事件”和一个链接表“注册”,我想创建一个 OData 服务,它返回事件表中的记录以及每个事件的注册数量。数据将在 JavaScript 中被客户端使用,因此我希望减小返回数据的大小,并且不完全包含所有链接的注册记录。
例如:
ID Title Date Regs
1 Breakfast 01.01.01 12:00 4
2 Party 01.01.01 20:00 20
我正在使用 ASP.NET MVC4 构建服务。这些表位于 MSSQL 数据库中。我真的才刚刚开始使用 OData 和 LINQ。
我首先尝试使用 WebAPI OData 系统(使用 EntitySetController 的类),但是一旦我将 Registrations 表包含在实体集中,就会出现神秘的服务器错误。 (“复杂类型'Models.Registration'通过属性'Event'引用实体类型'Models.Event'。”)
我在构建 WCF OData 系统方面取得了更大的成功,并且可以请求事件信息和相关注册信息。
但是,我不知道如何在事件结果集中包含聚合计数信息。我是否需要创建将作为 OData 服务源的自定义实体集?我可能在这里包含的信息太少,无法找到解决方案,但我真的不知道去哪里找。有人可以帮帮我吗?
【问题讨论】:
标签: asp.net-mvc-4 asp.net-web-api wcf-data-services odata