Я написал приложение, которое использую в качестве агента для запроса данных из базы данных и автоматической загрузки их в распределенный веб-кеш.
Я делаю это, указывая SQL-запрос и тип в конфигурации. Код, который фактически выполняет запросы, выглядит следующим образом:
List<Object> result = null;
try { result = dc.ExecuteQuery(elementType, entry.Command).OfType<Object>().ToList(); }
catch (Exception ex) { HandleException(ex, WebCacheAgentLogEvent.DatabaseExecutionError); continue; }
elementType
- это System.Type, созданный из типа, указанного в конфигурации (с использованием Type.GetType()
), а entry.Command
- это запрос SQL.
Конкретный тип объекта, с которым у меня проблема, выглядит следующим образом:
public class FooCount
{
[Column(Name = "foo_id")]
public Int32 FooId { get; set; }
[Column(Name = "count")]
public Int32 Count { get; set; }
}
Запрос SQL выглядит следующим образом:
select foo_id as foo_id, sum(count) as [count]
from foo_aggregates
group by foo_id
order by foo_id
По какой-то причине при выполнении запроса заполняется свойство Count, но не свойство FooId. Я попытался выполнить запрос сам, и верные имена столбцов возвращаются, и имена столбцов совпадают с тем, что я указал в моих атрибутах отображения. Помогите!