EF - SaveChanges () сохраняет 2 записи - PullRequest
0 голосов
/ 16 мая 2011

У меня есть веб-приложение ASP.NET, размещенное в Azure.Интересно, что иногда приложение создает две записи в базе данных.

Может ли кто-нибудь подтвердить, что я делаю глупости ниже?Фрагменты репозитория:

private SomeEntity entities = new SomeEntity ();

 public void Add(SomeObject _someObject)
            {
                entities.EmployeeTimeClocks.AddObject(_someObject);
            }

 public void Save()
        {
                    entities.SaveChanges();
        }

Создание фрагментов:

repo.Add(someObject);
repo.Save();

Примечание. Я использую SQL Azure для постоянного хранения.

Мне нужно показать этот JQueryзагрузка, это может быть причиной этой проблемы?

$('#ClockInOutBtn').click(function () {
                jQuery('#Loading').showLoading(
                        {
                            'afterShow': function () { setTimeout("$('form').submit();", 2000) }
                        }
                        );
            });

1 Ответ

0 голосов
/ 16 мая 2011

Код на стороне сервера выглядит хорошо.

Я думаю, что эта проблема, скорее всего, вызвана на уровне javascript / client - я предполагаю, что каким-то образом вы получаете две отправки форм.

Чтобы отладить это, попробуйте:

  • с помощью Firebug (или IE или отладчиков Chrome) для выявления проблемы.
  • с использованием fiddler для проверки того, что отправляется по сети от клиента к серверу.
  • Использование Trace в ASP.Net MVC для определения количества вызовов вашего контроллера.

Если проблема оказывается на стороне клиента, то вы можете исправить это с помощью некоторой проверки, чтобы предотвратить дублирование представлений - в зависимости от требований вашего приложения, возможно, стоит добавить эту проверку как на клиенте, так и на сервере.

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