Sqlite ADO.NET Entity Framework 3.5 ASP.NET MVC Простой пример «Состояние гонки» - PullRequest
1 голос
/ 25 января 2012

У меня есть простой пример, в котором я пытаюсь создать всплеск, используя ASP.NET MVC 1, Sqlite и ADO.NET Entity Framework, так как мне требуется переносимое хранилище данных (БД), которое может работать в .NET 3.5

У меня работает мой простой всплеск (сохранение, удаление, изменение записей), однако я заметил нечто странное.Я использую чрезвычайно простой шаблон репозитория для манипулирования данными.

Если вы запустите сайт, он показывает, что создана новая запись.Однако я заметил, что если я обновлюсь слишком быстро (например, удерживайте клавишу F5, например, в браузере, чтобы выполнить репликацию), будет выдано исключение, приведенное ниже.строки (0).Объекты могут быть изменены или удалены с момента загрузки объектов.Обновите записи ObjectStateManager.

Я чувствую, что это проблема параллелизма с тем, как мое действие Index сохраняет / удаляет записи для моего теста.Как я могу изменить свой репозиторий так, чтобы я все еще мог использовать этот шаблон (который мне нравится и я считаю довольно чистым), но также предотвратить это состояние гонки?Я выбрал решение, приведенное ниже, которое должно работать из коробки (Visual Studio 2008)

http://andrewherrick.com/spike/SqliteMVC1EF.zip

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