У меня есть простой пример, в котором я пытаюсь создать всплеск, используя 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