Книга: ASP.NET MVC Framework

LINQ для SQL

LINQ для SQL

Работа с LINQ для SQL на платформе .NET Framework осуществляется с помощью классов пространства имен System.Linq и System.Data.Linq.

Перечислим основные классы этих пространств имен.

? System.Linq:

Enumerable — предоставляет набор статичных методов для работы с объектами, реализующими интерфейс IEnumerable<T>.

Queryable — предоставляет набор статичных методов для работы с объектами, реализующими интерфейс IQueryable<T>.

Методы этих классов, вроде Where, Select, Sum и др., используются в любом LINQ-выражении для построения запросов, обработки и фильтрации данных.

? System.Data.Linq:

DataContext — основной объект для работы с LINQ для SQL, предоставляет контекст базы данных, через который осуществляется доступ ко всем сущностям базы данных;

EntitySet<TEntity>, EntityRef<TEntity> (структура) — обеспечивают связь между сущностями в LINQ для SQL;

Table<TEntity> — представляет таблицу с возможностью изменения объектов;

CompiledQuery — предоставляет возможность компилировать и повторно использовать запросы.

Контекст базы данных, наследующий от класса DataContext, в LINQ для SQL принято создавать с помощью мастера, который автоматически сгенерирует LINQ для SQL-классов. После такой генерации работа с объектной моделью становится очень простой, например, приведенный в разделе ADO.NET пример в исполнении LINQ для SQL будет выглядеть так:

using (MyDatabaseDataContext dataContext = new MyDatabaseDataContext())
{
  string phone = dataContext.Customers
    .Where(x => x.name == "Сергей Петров")
    .FirstOrDefault().phone;
}

Согласитесь, это заметно более простое решение по сравнению с вариантом, написанным с использованием ADO.NET Dataset.

Оглавление книги


Генерация: 0.327. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз