我有一个带有链接表“注册”的表“事件”,我想创建一个 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 服务源的自定义实体集?我可能在这里包含的信息太少,无法找到解决方案,但我真的不知道去哪里找。有人可以帮助我吗?