ExecuteQuery< T >(String)
Выполняет SQL-запрос и представляет полученные данные в виде коллекции объектов типа T.
Синтаксис
public IEnumerable< T > ExecuteQuery< T >(string query);
query
– текст SQL-запроса;
T
– тип объектов, которые необходимо получить в результате выполнения запроса.
Возвращаемое значение
Коллекция объектов типа T.
Исключения
ObjectDisposedException
| Объект LinterDataContext освобождён методом Dispose() . | |
ArgumentNullException
| Параметр query имеет значение null или пустая строка. | |
Exception
| Класс T не отмечен атрибутом [Table] . | |
LinterSqlException
| Код завершения СУБД ЛИНТЕР не равен 0 . |
Пример
// В примере создаётся класс Auto, который отображается на // таблицу AUTO в демонстрационной БД. Для получения // данных выполняется SQL-запрос, результаты которого // представляются в виде коллекции объектов типа Auto. // Свойства каждого полученного объекта выводятся на экран. // C# using System; using System.Linq; using System.Data.Linq.Linter; using System.Data.Linq.Mapping; // Класс Auto отображается на таблицу AUTO [Table(Name = "AUTO")] class Auto { // Свойство Make отображается на поле MAKE [Column(Name = "MAKE")] public string Make { get; set; } // Свойство Model отображается на поле MODEL [Column(Name = "MODEL")] public string Model { get; set; } } class ExecuteQuerySample { static void Main() { // Формирование строки соединения var connectionStr = "Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8"; // Создание контекста using (var context = new LinterDataContext(connectionStr)) { // Формирование SQL-запроса string sqlQuery = "select MAKE, MODEL from SYSTEM.AUTO fetch first 5"; // Формирование LINQ-запроса var query = from auto in context.ExecuteQuery< Auto >(sqlQuery) select auto; // Выполнение LINQ-запроса и получение коллекции объектов foreach (var auto in query) { // Отображение свойств объекта на экране Console.WriteLine(auto.Make + " | " + auto.Model); } } } }
Результат выполнения примера:
FORD | MERCURY COMET GT V8 ALPINE | A-310 AMERICAN MOTORS | MATADOR STATION MASERATI | BORA CHRYSLER | DODGE CORONET CUSTOM