Pregunta

Cuando se utiliza el cliente ADO.Net los servicios de datos para actualizar una entidad llamando al LoadProperty:

ctx.BeginLoadProperty(this, "Owner", (IAsyncResult ar) => ...

Se emite un error en el servidor si la propiedad es null

  

Error: excepción lanzada: System.Data.Services.DataServiceException:   Recurso no encontrado para el segmento 'propietario'. a   System.Data.Services.RequestDescription.GetSingleResultFromEnumerable (SegmentInfo   segmentInfo) a   System.Data.Services.DataService1.CompareETagAndWriteResponse (RequestDescription   descripción, ContentFormat responseFormat, IDataService Dataservice)
  a   System.Data.Services.DataService1.SerializeResponseBody (RequestDescription   descripción, IDataService Dataservice) a   System.Data.Services.DataService1.HandleNonBatchRequest (RequestDescription   descripción) en System.Data.Services.DataService`1.HandleRequest ()

El problema es que el cliente no sabe si la propiedad es Vehicle o simplemente no se ha rellenado todavía. La propiedad es propietario de un enlace de un Customer a un <=>.

Cualquier idea lo que está mal?

Gracias

¿Fue útil?

Solución

Consulta de las claves primarias generar una excepción cuando no existe la clave. La solución consiste en añadir una verdadera expresión maniquí en la condición (por ejemplo: 1 == 1 && item.Id == XXX)

.

Sin la expresión ficticia la solicitud ADO.NET es:

  

http: //localhost//test.svc/Role(XXX)

Con la condición ficticia, la solicitud es:

  

http: //localhost//test.svc/Role()?$filter=true y (Id eq 1)

El comportamiento esperado (null volvió) es correcto en el segundo caso.

Otros consejos

IgnoreResourceNotFoundException propiedad del contexto de servicio true:

svc.IgnoreResourceNotFoundException = true;

He recibido un "recurso no encontrado para el segmento 'Propiedad'" error también. La mía parece ser que en la cláusula where Busco por clave primaria. He encontrado algunos recursos que dicen que generará un error (incluso cuando se utiliza FirstOrDefault ()) cuando se utiliza una clave principal que no existe (en contraposición a otra donde cláusulas que simplemente no proporcionan resultados). Supongo que algo similar está ocurriendo a ti mismo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top