script operadores logicos logico google distinto diferente comparar comparacion asignacion javascript c# kendo-ui odata

javascript - operadores - Se detectó un operador binario con tipos incompatibles. Tipos de operandos encontrados ''Edm.Guid'' y ''Edm.String'' para el tipo de operador ''Equal''



operadores logicos (1)

Si el servicio OData es de protocolo versión V4, la URL de consulta correcta debería ser:

$filter=OrganizationId eq 4c2c1c1e-1838-42ca-b730-399816de85f8

No se requieren comillas simples.

Recibo la siguiente excepción cuando llamo a OData desde mi Kendo ListView:

"Se detectó un operador binario con tipos incompatibles. Se encontraron tipos de operandos ''Edm.Guid'' y ''Edm.String'' para el tipo de operador ''Equal''"

FILTRO DECODIFICADO:
$ filter = OrganizationId eq ''4c2c1c1e-1838-42ca-b730-399816de85f8''

FILTRO ENCODIDO:
% 24filter = OrganizationId + eq +% 274c2c1c1e-1838-42ca-b730-399816de85f8% 27

TAMBIÉN HAN TRATADO DE FORMA INCORRECTA ESTOS FILTROS:
$ filter = OrganizationId eq guid''4c2c1c1e-1838-42ca-b730-399816de85f8 ''
$ filter = OrganizationId eq cast (''4c2c1c1e-1838-42ca-b730-399816de85f8'', Edm.Guid)

MI LLAMADA DE API WEB PARECE COMO:

// GET: odata/Sites [HttpGet] [EnableQuery] public IHttpActionResult GetSites(ODataQueryOptions<Site> queryOptions) { IQueryable<Site> sites = null; try { queryOptions.Validate(_validationSettings); sites = _siteService.GetAll().OrderBy(x => x.SiteName); if (sites == null) return NotFound(); } catch (ODataException ex) { TraceHandler.TraceError(ex); return BadRequest(ex.Message); } return Ok(sites); }

MI JAVASCRIPT KENDO DATASOURCE PARECE COMO:

var dataSource = new kendo.data.DataSource({ filter: { field: "OrganizationId", operator: "eq", value: that.settings.current.customer.id }, schema: { data: function (data) { return data.value; }, total: function (data) { return data.length; } }, serverFiltering: true, serverPaging: true, transport: { parameterMap: function (options, type) { var paramMap = kendo.data.transports.odata.parameterMap(options); // Remove invalid Parameters that Web API doesn''t support delete paramMap.$inlinecount; // <-- remove inlinecount delete paramMap.$format; // <-- remove format delete paramMap.$callback; // <-- remove callbak // PLEASE NOTICE: That I have tried reformatting unsuccessfully //paramMap.$filter = paramMap.$filter.replace("OrganizationId eq ", "OrganizationId eq guid"); //paramMap.$filter = "OrganizationId eq cast(''81de6144-987c-4b6f-a9bd-355cb6597fc1'', Edm.Guid)"; return paramMap; }, read: { url: buildRoute(''odata/Sites'') , dataType: ''json'' } }, type: ''odata'' });