2

Поддерживает ли Windows Phone 7.5 локальную базу данных Mango явные транзакции? Я не смог найти реализацию класса TransactionScope, доступного для LINQ to SQL в .NET 4. Если нет, есть ли другой способ реализовать транзакции «все или ничего» в локальной базе данных?Windows Phone 7 Локальная база данных Явная транзакция

ответ

2

Как я знаю, вы не можете указать TransactionScope. Но я не уверен, что вам действительно нужны какие-либо явные транзакции, потому что согласно документации Linq2Sql будет поддерживать две копии объекта и определять во время SubmitChanges, следует ли обновлять данные или нет, поэтому я думаю, что вы можете чувствовать себя в безопасности во время передачи данных.

+0

Просто нашёл этот инструмент: http://coolstorage.codeplex.com/. Возможно, это будет полезно посмотреть, но я никогда не пробовал, и у некоторых людей проблемы с использованием CoolStorage и SqLite на Windows Phone 7 – PompolutZ

+0

Я не очень-то разбираюсь в возможностях LINQ-to-SQL для обнаружения изменений или параллелизма ошибки. Но, скорее, я искал нечто похожее на TransactionScope, где я могу обновлять несколько записей из нескольких таблиц. Усложняя его немного больше, некоторые записи могут обновляться в зависимости от значений других записей из разных таблиц. Но когда возникает какая-либо ошибка, все изменения, внесенные мной во все таблицы, должны быть отброшены, несмотря на то, что некоторые из них преуспели. –

+0

Обновление записей из нескольких таблиц в порядке. Когда вы вызываете .SubmitChanges() _all_ изменения в сущности, связанные с этим DataContext, обновляются атомарно. – John

Смежные вопросы