检测到类型不兼容的二进制运算符.找到了操作数类型'Edm.Guid'和'Edm.字符串'



剑道过滤器

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

其显示错误

检测到类型不兼容的二进制运算符。找到了操作数类型的Edm。Guid和Edm。运算符类型"Equal"的字符串"。

在OData v2中,文字GUID必须序列化为guid'dddddddd-dddd-dddd-dddd-dddddddddddd',其中每个d表示一个十六进制数字。

相关内容

最新更新