Обновления Linq2Sql

Хотите знать, выполнил ли кто-нибудь еще большую часть своего обновления SQL с использованием хранимых процедур поверх Linq2Sql?

Мне нравится Linq2Sql для всех других операций, но обновления кажутся неприятными. Сгенерированный SQL не выглядит хорошо в профилировщике со всеми столбцами в предложении Where, тогда вам нужно выбрать текущий объект, чтобы установить поля из отредактированного объекта перед запуском SubmitChanges().

Я считаю, что лучше написать старомодную хранимую процедуру для обновлений и использовать Linq2Sql для остальных. Как насчет твоего опыта?


person Jason Too Cool Webs    schedule 08.01.2010    source источник


Ответы (2)


Вам не нужны все столбцы в предложении Where, если вы включаете в таблицу столбец Timestamp и первичный ключ. Тогда L2S будет использовать эти два столбца только в предложении Where.

Я построил n-уровневый уровень доступа к данным, используя L2S для производственной операции, без использования единой хранимой процедуры. Это можно сделать, и можно сделать очень хорошо.

Рэнди

person Randy Minder    schedule 08.01.2010
comment
Интересный Рэнди. Я новичок в Linq2Sql, унаследовал приложение, использующее фреймворк Codeplex Beerhouse. Придется присмотреться к таблицам. У них есть первичные ключи, но нужно будет проверить метку времени. Что-то, с чем можно поиграть. - person Jason Too Cool Webs; 09.01.2010

Я просмотрел этот метод обновления прикрепления из блога Рика Стрэллса, когда Я пытался решить это. В итоге я просто использовал NHibernate, что, конечно, нелегко, но действительно приятно, если вы сделали несколько руководств. Обновить в Nhibernate тоже легко. И он поддерживает LINQ, если вы используете Linq to NHibernate.

person Dan    schedule 08.01.2010