Переменная SQL-запроса в таблице

#c# #linq #datatable

#c# #linq #datatable

Вопрос:

Я пытаюсь выполнить запрос к таблице в SQL, но имя извлекаемых столбцов является переменным, например:

 string[] columns = new string[] { "lastname, firstname, status" };
Dictionary<string, string> columValues = GetColumnValues(userId, columns);
  

Является ли LINQ хорошим вариантом для этого? Если да, пожалуйста, пролейте немного света на это.

Ps. использование Sql Server и c#

спасибо, M0dest0.

Комментарии:

1. почему бы не создать sqlcommand динамически? или вы должны использовать LINQ?

2. @urlreader Я думаю, это то, что мне нужно будет сделать. Я думал, что с LINQ должно быть проще или автоматически.

Ответ №1:

Одна вещь, которую вы можете сделать с EF6 и C #, — это создать класс во время выполнения, который содержит ваши динамические свойства, и запустить запрос EF6 с помощью SqlQuery (и создать вручную SQL-запрос, который вам нужен).

найдите несколько примеров с этим, чтобы создать новый класс во время выполнения: https://msdn.microsoft.com/en-us/library/system.reflection.emit.typebuilder (v = против 110).aspx

EF6 запускает sql-запрос: https://msdn.microsoft.com/en-us/data/jj592907.aspx