LinqToSql - необходимо генерировать .dbml для каждой версии SQL Server? - PullRequest
2 голосов
/ 02 февраля 2012

Я занимаюсь разработкой приложения, которое должно работать с SQL Server 2003, 2005 и 2008. Я хотел бы перейти от использования хранимых процедур T-SQL к использованию Linq, так как в настоящее время у нас нет программиста базы данныхи, следовательно, внесение каких-либо исправлений или добавление каких-либо функций является медленным и сложным процессом.Напротив, работа с LinqToSql в других проектах была легкой.

Будет ли работать файл .dbml, сгенерированный для SQLServer 2008, если он будет использоваться с предыдущими версиями SQL Server, предполагая, что структуры таблиц одинаковы?

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

1 Ответ

2 голосов
/ 03 февраля 2012

SQL Server 2005, 2008: Нет проблем .

SQL Server 2000, 2003: Проблемы с подкачкой на стороне сервера (.Skip (), .Take ()),но кроме этого, нет .

Я занимаюсь разработкой на SQL Server 2005 и размещаю работающую систему на SQL Server 2008 без каких-либо сбоев.

Вы будете испытывать проблемы с чем угоднораньше, чем SQL Server 2005 и LINQ to SQL, реализовали .Skip (), если вы когда-либо использовали его, так как LINQ to SQL переводит его в ROW_NUMBER в T-SQL - и это только часть SQL Server 2005 и далее.

См. Этот связанный вопрос: Какие версии SQL Server поддерживает LINQ to SQL?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...