Поделиться через


LINQ to SQL и тесно связанные клиент-серверные приложения

Обновлен: November 2007

LINQ to SQL может использоваться на среднем уровне вместе с тесно связанными интеллектуальными клиентами на уровне представления данных. Реализация сценариев, в которых используется доступ к данным только для чтения и не выполняются проверки оптимистического параллелизма на основе исходных значений или отметок времени, представляет собой не более сложную задачу, чем сценарии без удаленного взаимодействия. Однако, если база данных требует выполнения проверки оптимистического параллелизма на основе исходных значений, LINQ to SQL не предоставляет того уровня поддержки кругового пути данных, который обеспечивается DataSets. Тем не менее, средний уровень LINQ to SQL может обмениваться данными с клиентами на любой платформе.

LINQ to SQL в Visual Studio 2008 не предоставляет инфраструктуру для отслеживания состояния сущностей после их сериализации в клиента. LINQ to SQL обеспечивает ориентированные на службы архитектуры, в которых взаимодействия между уровнями данных и представлений невелики и относительно атомарны, но не выполняет никаких обратных преобразований исходных значений. Поэтому, если вместе с LINQ to SQL требуется использовать тесно связанный интеллектуальный клиент, а в базе данных используются проверки оптимистического параллелизма на основе исходных значений, необходимо реализовать собственный механизм обмена изменениями между уровнем представления данных и средним уровнем. Стоит ли выполнять эту дополнительную работу ради преимуществ, которые предоставляет LINQ to SQL на среднем уровне, должен решить разработчик системы. С другой стороны, если в базе данных содержатся отметки времени, то нет необходимости разрабатывать пользовательскую логику отслеживания изменений.

См. также

Основные понятия

Многоуровневые и удаленные приложения с LINQ to SQL

Технология LINQ to SQL в многоуровневых приложениях с веб-службами

Другие ресурсы

Многоуровневые приложения для работы с данными