2016-04-29 26 views
1

劍道過濾檢測到具有不兼容類型的二元運算符。運算符類型'Equal'找到操作數類型'Edm.Guid'和'Edm.String'。 OData的2.2

if ($.trim(DepartmentId)) { $filter.push({ field: "DepartmentId", operator: "eq", value: DepartmentId }); } 

型號

public System.Guid DepartmentId { get; set; } 

方法

[Queryable] 
    public IQueryable<Employee> Get(ODataQueryOptions opts) 
    { 
     EmployeeService.HrEmployeeServiceFacadeClient emp = new EmployeeService.HrEmployeeServiceFacadeClient(); 
     var response = emp.GetAll(); 
     List<Employee> result = JsonConvert.DeserializeObject<List<Employee>>(response.Result); 
     var resultString = result.AsQueryable(); 

     return resultString; 
    } 

我使用的OData 2.2

它顯示錯誤

檢測到具有不兼容類型的二元運算符。運算符類型'Equal'找到操作數類型'Edm.Guid'和'Edm.String'。

回答

4

在OData v2中,文字GUID必須序列化爲guid'dddddddd-dddd-dddd-dddd-dddddddddddd',其中每個d代表一個十六進制數字。

+0

「無效」其中'條件。實體成員正在調用無效的屬性或方法。「, –

+0

/AccountSet?$ filter = AccountId eq guid'03a0a47b-e3a2-e311-9402-00155d104c22' –

相關問題