He escrito una aplicación que uso como agente para consultar datos de una base de datos y cargarlos automáticamente en mi caché web distribuida .LINQ-to-SQL: ExecuteQuery (Type, String) rellena un campo, pero no el otro
Lo hago especificando una consulta sql y un tipo en una configuración. El código que realmente hace la consulta es el siguiente:
List<Object> result = null;
try { result = dc.ExecuteQuery(elementType, entry.Command).OfType<Object>().ToList(); }
catch (Exception ex) { HandleException(ex, WebCacheAgentLogEvent.DatabaseExecutionError); continue; }
elementType
es una System.Type creado a partir del tipo especificado en la configuración (utilizando Type.GetType()
), y entry.Command
es la consulta SQL.
El tipo de entidad específica que estoy teniendo un problema con el siguiente aspecto:
public class FooCount
{
[Column(Name = "foo_id")]
public Int32 FooId { get; set; }
[Column(Name = "count")]
public Int32 Count { get; set; }
}
La consulta SQL tiene este aspecto:
select foo_id as foo_id, sum(count) as [count]
from foo_aggregates
group by foo_id
order by foo_id
Por alguna razón, cuando se ejecuta la consulta, la propiedad "Count" termina poblada, pero no la propiedad "FooId". Traté de ejecutar la consulta yo mismo, y se devuelven los nombres de columna correctos, y los nombres de columna coinciden con lo que he especificado en mis atributos de mapeo. ¡Ayuda!
@BFree - Editar una pregunta simplemente para cambiar el estilo de codificación de otra persona es simplemente desagradable en mi humilde opinión. Por favor no. –
Mi mal. No pensé que realmente quisieras hacer eso, pensé que fue un accidente. – BFree
@Daniel: publicar un código que obliga a las personas a desplazarse hacia la derecha para leerlo es una gran manera de hacer que ignoren su pregunta. Apuntar a las personas que intentan ayudar es una forma aún mejor ... –