2016-04-17 28 views
0

這裏是控制器代碼我得到一個錯誤,當使用OData的查詢與包含

[EnableQuery] 
    public IQueryable<Product> Get() 
    { 
     var productRepository = new ProductRepository(); 
     return productRepository.Retrieve().AsQueryable(); 
    } 

這裏被檢索()方法

internal List<Product> Retrieve() 
    { 
     var filePath = HostingEnvironment.MapPath(@"~/App_Data/product.json"); 

     var json = System.IO.File.ReadAllText(filePath); 

     var products = JsonConvert.DeserializeObject<List<Product>>(json); 

     return products; 
    } 

和產品類

public class Product 
{ 
    public string Description { get; set; } 
    public decimal Price { get; set; } 
    public string ProductCode { get; set; } 
    public int ProductId { get; set; } 
    public string ProductName { get; set; } 
    public DateTime ReleaseDate { get; set; } 

} 

其它過濾器一樣$ filter = Price + gt + 6或$ top = 4,$ skip = 1正常工作。 WebApi.OData包版本= 5.7.0

錯誤: 「中的URI中指定的查詢是無效的名稱爲未知函數‘包含’發現

+0

請與我們分享你的錯誤! –

+0

[OData.Net不允許在$ filter中包含]的可能重複(http://stackoverflow.com/questions/31085595/odata-net-doesnt-allow-contains-in-the-filter) – lencharest

回答

2

substringof()V3功能而是V4功能。

嘗試contains

$filter=contains(Name,'value') 
相關問題