【问题标题】:A binary operator with incompatible types was detected. Found operand types 'Edm.Guid' and 'Edm.String' for operator kind 'Equal'. OData 2.2检测到类型不兼容的二元运算符。找到运算符类型“Equal”的操作数类型“Edm.Guid”和“Edm.String”。 OData 2.2
【发布时间】:2016-08-24 03:07:46
【问题描述】:

剑道滤镜

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”。

【问题讨论】:

    标签: kendo-ui odata


    【解决方案1】:

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

    【讨论】:

    • "'where' 条件无效。实体成员正在调用无效的属性或方法。",
    • /AccountSet?$filter=AccountId eq guid'03a0a47b-e3a2-e311-9402-00155d104c22'
    猜你喜欢
    • 2015-05-13
    • 2015-12-28
    • 1970-01-01
    • 2021-08-15
    • 2013-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多