LINQ to SQL valores nulos en GridView
-
23-08-2019 - |
Pregunta
Normalmente si estoy que conecte a un ObjectDataSource a un GridView y tengo una TemplateColumn que tiene una Eval en ella y es nulo, puedo poner un ".ToString ()" que funciona bien. Por alguna razón, esto no funciona de la misma cuando se está utilizando LINQ a SQL.
Que originalmente estaba usando archivos XSD para mi DAL con una costumbre BLL. Lo até a la GridView con un ObjectDataSource. Estoy en el medio de cambiar de los archivos XSD con LINQ to SQL y todo funciona igual que la vieja manera a excepción de las columnas que pueden tener valores nulos.
Cualquier persona ha funcionado en esto antes y si es así, ¿cómo puedo solucionar este problema?
Solución
La mayor parte de todo lo que es LINQ regresa de tipos anulables . Así, en sus expresiones de enlace es necesario utilizar GetValueOrDefault (). ToString () o el nuevo "??" nula coalescencia operador en lugar de simplemente ToString de edad (). Espero que esto ayude. Marque esta enlace a.
Ejemplo:
// this will output the int if not null otherwise an empty string.
<%# (int?)Eval("MyIntegerField") ?? "" %>