EF 4.0 - Save создает дубликаты в среде TEST, но не в DEV - PullRequest
2 голосов
/ 04 октября 2011

ЗАКЛЮЧИТЕЛЬНОЕ РЕДАКТИРОВАНИЕ Если вы ищете этот вопрос, см. Ответ, который я разместил ниже.Первоначальная проблема была не с EF, а с моей реализацией JQuery.

РЕДАКТИРОВАТЬ: Я подтвердил, что это происходит только в IE (особенно IE 7).Я не вижу такого же поведения в Chrome.Я еще не тестировал Firefox, но мы не поддерживаем FF в нашей среде, поэтому я не так беспокоюсь об этом.)

Перед тем, как выложить кучу кода, я просто хотелчтобы показать это, чтобы увидеть, сталкивался ли кто-нибудь с чем-либо подобным, и если да, то каким был их виновник.

У меня есть код в проекте MVC, который создает новую сущность.Код работает как положено в моей локальной среде.Однако когда я отправляю код в среду нашего тестового сервера, тот же код создает две записи при сохранении.

Я убедился, что схемы базы данных идентичны, поэтому я исключил это как возможную причину.

Кто-нибудь еще испытывал что-либо подобное?Если да, что вы сделали, чтобы решить проблему?

Спасибо

1 Ответ

0 голосов
/ 04 октября 2011

Я наконец отследил проблему до ошибки в каком-то javascript.Проблема не имела ничего общего с Entity Framework или MVC.У меня есть некоторый код jQuery, который помогает мне добавлять значки для отправки кнопок, и в IE это приводило к тому, что отправка выполнялась дважды.

На случай, если кому-то интересно, вот код ошибки:

$('input[type="submit"]').each(function () {
    $(this).hide().after('<button>').next().button({
        icons: { primary: $(this).attr('icon') },
        label: $(this).val()
    }).click(function (event) {
        event.preventDefault();
        $(this).prev().click();
        return false;
    });
});

Это не вызвало проблем в Chrome, но в IE кнопки отправки срабатывали дважды.Чтобы исправить это, я добавил onclick = "return false;"на мои входные теги, и проблема исчезла.

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