¿Cómo le digo a un contexto de datos de LINQ que ignore las propiedades específicas, o todas las propiedades de solo lectura, al vincular un conjunto de resultados a un objeto?Ignorar las propiedades de clase de solo lectura al usar DataContext.ExecuteQuery <T>
Estoy trabajando con algunas declaraciones de T-SQL que son difíciles de expresar usando LINQ, así que estoy usando el método ExecuteQuery del contexto de datos para pasar el T-SQL directo a la base de datos.
Si mi clase T tiene propiedades de solo lectura, obtengo excepciones en tiempo de ejecución cuando el contexto de datos intenta establecer esas propiedades y falla porque no hay ninguna propiedad de establecimiento. ¿Cómo le digo al contexto que ignore esas propiedades?
Esto es lo que estoy haciendo ahora. Funciona, pero es una mierda:
public bool IsPaidInFull {
get { return NetTotal <= 0m; }
set { /* needed so linq doesn't choke. Should never be set by hand */ }
}
Debo ser el primero en sugerir - "do not _do_ that"? –
No hagas exactamente qué? La solución es un pecado, y es inaceptable, de ahí mi publicación aquí. Si quiere decir "no encuentra una manera de omitir ciertas propiedades cuando se vincula al conjunto de resultados", ¿podría explicarlo? –