#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