Динамический запрос с linq для IDictionary <string, object>? - PullRequest
2 голосов
/ 31 августа 2009

Этот вопрос похож на этот вопрос , но не совсем так.

Можно ли сделать динамический запрос в контексте данных linq-to-sql и получить результат, возвращаемый в виде IDictionary , где ключом является имя столбца?

Немного похоже (не компилируется, но иллюстрирует намерение)

IDictionary<string, object> data = new Dictionary<string, object>(StringComparer.OrdinalIgnoreCase);
data = db.ExecuteQuery<IDictionary<string, object>(queryString, params).ToDictionary(
    k=>nameOfColumn,
    k=>k
)

Очевидно, что я полностью не в курсе данных = db.ExecuteQuery ...
У меня такое ощущение, что executeQuery - это не то, что я должен использовать, так как этот уже пытается выполнить сопоставление с объектом. Для этого конкретного случая использования я не хочу этого.

1 Ответ

2 голосов
/ 31 августа 2009

Вам нужно будет включить тип объекта для материализации; как насчет:

var data = db.ExecuteQuery<SomeType>(queryString, params)
          .ToDictionary(st => st.SomeKey);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...