Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有多少可以在odata服务中使用嵌套实体类_C#_Asp.net Web Api_Odata - Fatal编程技术网

C# 有多少可以在odata服务中使用嵌套实体类

C# 有多少可以在odata服务中使用嵌套实体类,c#,asp.net-web-api,odata,C#,Asp.net Web Api,Odata,我正在实施一个类似项目的项目 上面说,您可以从客户端请求嵌套实体: var query = ctx.ProductFamilies.Where(p => p.ID == 3).SelectMany(p => p.Products); 和服务器端,支持/ProductFamilies(1)/产品: ProductFamiliesController : EntitySetController<ProductFamily, int> { /// <summar

我正在实施一个类似项目的项目

上面说,您可以从客户端请求嵌套实体:

var query = ctx.ProductFamilies.Where(p => p.ID == 3).SelectMany(p => p.Products);
和服务器端,支持/ProductFamilies(1)/产品:

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);
    }
}
ProductFamiliesController:EntitySetController
{
/// 
///对/ProductFamilies(1)/产品的支持
/// 
[可查询]
公共IQueryable GetProducts([FromODataUri]int-key)
{
返回_db.ProductFamilies.Where(pf=>pf.ID==key)。选择many(pf=>pf.Products);
}
}

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

您需要另一个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);
   }
}
ProductsController:EntitySetController
{
/// 
///支持/产品(1)/批次号
/// 
[可查询]
公共IQueryable GetBatchNumberss([FromODataUri]int键)
{
返回_db.Products.Where(p=>p.ID==key);
}
}