LINQ-to-SQL против хранимых процедур?
В целом я сторонник размещения linq всего в хранимых процедурах linq-to-sql по всем причинам, о которых sql-to-linq администраторы баз данных linq-query-syntax твердили годами. В случае language-integrated-query с Linq действительно не будет stored-procedure разницы в производительности stored-procedures с простыми CRUD-запросами.
Но linq-query-syntax принимая это решение, имейте linq в виду несколько вещей: использование stored-procedure любого ORM тесно связывает linq2sql вас с вашей моделью данных. Администратор linq2sql баз данных не имеет права linq-to-sql вносить изменения в модель language-integrated-query данных, не заставляя вас linq изменять скомпилированный sproc код. С помощью хранимых процедур sql-to-linq вы можете в какой-то степени stored-procedures скрыть такого рода изменения, поскольку sql-to-linq список параметров и наборы linq результатов, возвращаемые sproc процедурой, представляют linq ее контракт, а внутренности stored-procedure могут быть изменены до тех stored-procedures пор, пока этот контракт все sql-to-linq еще выполняется. .
А также, если stored-procedure Linq используется для более stored-procedure сложных запросов, настройка linq-to-sql базы данных становится гораздо sql-to-linq более сложной задачей. Когда stored-procedure хранимая процедура выполняется language-integrated-query медленно, администратор базы stored-procedure данных может полностью сосредоточиться linq-query-syntax на изолированном коде и имеет stored-procedures множество вариантов, чтобы stored-procedure контракт все еще выполнялся, когда linq2sql он / она закончит.
Я видел linq2sql много-много случаев, когда sproc серьезные проблемы в приложении sproc решались путем изменения linq-to-sql схемы и кода в хранимых процедурах stored-procedure без каких-либо изменений sproc в развернутом скомпилированном sql-to-linq коде.
Возможно, подход hybird sproc был бы хорош с Linq? Linq, конечно, можно sql-to-linq использовать для вызова хранимых language-integrated-query процедур.
linq
linq-to-sql
stored-procedures
LINQ-to-SQL против хранимых процедур?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.