2011-07-13 15 views
7

Tengo un modelo LINQ que contiene una entidad que se rellena con un procedimiento almacenado. Algunos de los campos devueltos por el procedimiento son campos de bits que aceptan valores nulos, por lo que los he creado como booleanos que admiten valores NULL en el modelo. Yo esperaría que esto funcione bien, pero cuando ejecuto mi aplicación tengo la siguiente excepción de System.Runtime.Serialization ...Problema con el modelo LINQ - ¡No se puede asignar NULL a Boolean anulable!

El formateador inició una excepción al intentar deserializar el mensaje : Se ha producido un error al intentar para deserializar el parámetro urn: Nbs.PrePaidCards.ChargebackService: GetUnlinkedChargebacksAndRepresentmentsResult. El mensaje InnerException fue 'ValueType' System.Boolean 'no puede ser null.'. Por favor, consulte InnerException para más detalles.

Ahora me gustaría entender esto si yo estaba tratando de completar un campo normal bool con un null, pero ya que la propiedad es Nullable, esto me tiene un poco perplejo!

¿Alguien más ha tenido este problema y sabe cómo solucionarlo?

Gracias

+1

¿Estás seguro de que tu DBML está actualizado con la base de datos? Además, ¿podría mostrar el código que desencadena el error? – bzlm

+0

Parece que asignar un nulo a un bool que no admite nulos. Tendrás que publicar el código, de ninguna manera lo sabríamos aquí – V4Vendetta

+0

Lo extraño es que tengo otra clase en el mismo modelo con bools nulables y está funcionando bien. Estoy usando una base de datos SQL Server 2005. – TabbyCool

Respuesta

10

El problema fue causado por una salida de referencia de servicio fecha en mi cliente, por lo que mientras que el servicio tenía un campo bool anulable, el proxy en el cliente todavía estaba esperando un campo bool regular, por lo tanto, la serialización excepción.

+0

cómo podemos resolver esto? –

+0

Asegúrese de que sus referencias de servicio en sus proyectos de cliente estén actualizadas, mi problema fue causado por un conflicto entre los contratos de datos expuestos por mi servicio que es diferente de los esperados por el cliente. – TabbyCool

Cuestiones relacionadas