gpt4 book ai didi

c# - 如何在 OData v4 API 中拥有动态可查询实体?

转载 作者:太空宇宙 更新时间:2023-11-03 14:59:27 27 4
gpt4 key购买 nike

在使用 OData v4、实体和 C# 构建 web api 的任务中,我遇到了以下问题。我在我的数据库(SQL Server)中有一个 View ,其中有一些年度信息作为行,例如......

    |Year |Value |
1985 8.7
1986 8.8

但我需要将它们作为列提供:

    |1985 |1986 |
8.7 8.8

岁月是动态的,我找不到创建动态模型类的方法。因此,我找不到在 Controller 中提供数据的方法。我能够使用 C# 代码转换信息,但 OData 不提供它,因为没有相应的模型。

我尝试使用一个名为 MedallionOdata 的库,它有一个 ODataEntity,它应该是动态的和可查询的,但我无法让它工作。

为动态实体提供服务并保持 OData 可查询方面的最佳方式是什么?

最佳答案

OData 有一个“开放类型”的概念,我认为它可以帮助您实现您正在寻找的目标。它们实质上允许您向对象添加任何属性。

如果您使用 ODataConventionModelBuilder , 它就像添加 IDictionary<string, object> 类型的属性一样简单像这样给你的模型类:

public IDictionary<string, object> Properties { get; set; }

您可以在此处找到更多详细信息: https://learn.microsoft.com/en-us/aspnet/web-api/overview/odata-support-in-aspnet-web-api/odata-v4/use-open-types-in-odata-v4

关于c# - 如何在 OData v4 API 中拥有动态可查询实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46940668/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com