【问题标题】:how many can use nested entity class in odata serviceodata服务中有多少可以使用嵌套实体类
【发布时间】:2014-01-10 23:31:44
【问题描述】:

我正在实施类似ODataServiceSample 项目

据说,您可以向客户端请求嵌套实体:

var query = ctx.ProductFamilies.Where(p => p.ID == 3).SelectMany(p => p.Products);

和服务器端,支持/ProductFamilies(1)/Products:

ProductFamiliesController : EntitySetController<ProductFamily, int>
{
    /// <summary>
    /// Support for /ProductFamilies(1)/Products
    /// </summary>
    [Queryable]
    public IQueryable<Product> GetProducts([FromODataUri] int key)
    {
        return _db.ProductFamilies.Where(pf => pf.ID == key).SelectMany(pf => pf.Products);
    }
}

如何在服务器端支持 /ProductFamilies(1)/Products(1)/BatchNumbers?

【问题讨论】:

    标签: c# asp.net-web-api odata


    【解决方案1】:

    您需要另一个用于 Product 的 EntitySetController,并且与您为 ProductFamily 实体集所做的完全相同,即:

    ProductsController : EntitySetController<Product, int>
    {
       /// <summary>
       /// Support for /Products(1)/BatchNumbers
       /// </summary>
       [Queryable]
       public IQueryable<BatchNumber> GetBatchNumberss([FromODataUri] int key)
       {
           return _db.Products.Where(p => p.ID == key).SelectMany(p => p.BatchNumbers);
       }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-15
      • 1970-01-01
      • 2016-05-15
      • 1970-01-01
      相关资源
      最近更新 更多