lunes, 2 de julio de 2012

Error Linq – CRM 2011

Hola a todos,

La alegría de llegar a la oficina me duro poco. Ya que apenas me puse me sucedió un error, que he visto que muchos foros discuten. ¿Qué ocurre?. Estamos haciendo búsquedas de los datos en CRM a través de LINQ. Para poder hacer las consultar, utilizamos el LinqPad, luego lo pasamos al VS.NET y listo búsquedas rápidas y buenas.

Pero no todo es belleza, hay algunos campos que te pueden retornar un error, ya sean porque están en nulo y/o el formato es incorrecto , por ejemplo, he estado buscando algunos campos de tipo Option y me salía un error (cosa que el Lunes no me paso). Os presento el error

LINQPad 4_2012-07-02_11-48-31

Como siempre, un error no muy descriptivo que digamos no :D.

La consulta es la siguiente:

 

   1:  (from so in AutosSet
   2:      where so.Id == new Guid("<Id del auto>")
   3:      select new { 
   4:      Marca = so.Marca,
   5:      Modelo = so.Modelo,
   6:      Tipo = ((Microsoft.Xrm.Sdk.OptionSetValue)so.Tipovehiculo).Value
   7:      }).First()

Bueno, el error está en la última (si fuera el error por formato) columna de la búsqueda, la solución

 

   1:  var oFinanciado = (from so in AutosSet
   2:      where so.Id == new Guid("<Id Auto>")
   3:      select new { 
   4:              Marca = so.Marca,
   5:                  Modelo = so.Modelo,
   6:                  Tipo = so.Tipovehiculo == null ? null : so.FormattedValues["Tipovehiculo"]
   7:      }).First();

Utilizando ese IIF (para los que vienen de VB) y ese FormatteddValues se soluciona todo y el valor que nos muestra, será el texto del Option

Salu2

Atilio

Share this post
  • Share to Facebook
  • Share to Twitter
  • Share to Google+
  • Share to Email
  • More...

0 comentarios

 
© 2011 Dynamics CRM Rulez !!!!!!
Designed by BlogThietKe Cooperated with Duy Pham
Released under Creative Commons 3.0 CC BY-NC 3.0
Posts RSSComments RSS
Back to top