【问题标题】:OData v4 WebAPI - Get entity from ODataControllerOData v4 WebAPI - 从 ODataController 获取实体
【发布时间】:2020-12-02 21:19:21
【问题描述】:

在我的 OdataController 中,我公开了实体 Customer(例如)。 我有一个方法:

Get()

这很好用。 要返回单个实体,我有这个方法:

GetCustomer(int key)

这也很好用。

*这是我的问题*

GetCustomer 是返回单个实体的唯一签名选项吗? 我不确定 ODataController 是如何知道如何解决此方法签名的,但我想知道是否有通用的方法来定义它。

【问题讨论】:

    标签: asp.net-web-api odata odatacontroller


    【解决方案1】:

    GetCustomer 默认会获得一个 Customer.Customer 导航属性。现在您将在 stackoverflow 上保存一个问题;) 顶部获取单个实体,您可以使用 Get(int/string key) 如下:

    假设 db 是您的数据库上下文实例

    [EnableQuery]
    public IQueryable<Customer> Get()
    {
        return db.Customers;
    }
    
    [EnableQuery]
    public SingleResult<Customer> Get([FromODataUri] int key)
    {
        IQueryable<Customer> result = db.Customers.Where(p => p.Id == key);
        return SingleResult.Create(result);
    }
    

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-27
      • 2015-11-06
      相关资源
      最近更新 更多