Ни один из предлагаемых решений не работал для меня, но это делалось.
Что-то блокирует выполнение запроса. Скорее всего, другое обновление запроса, вставка или удаление из одной из таблиц в вашем запросе. Вы должны выяснить, что это такое:
SHOW PROCESSLIST;
. Когда вы обнаружите процесс блокировки, найдите его id
и запустите:
KILL {id};
Повторно запустите свой первоначальный запрос .
В ее основе две модели о Разделении Проблем. Я хочу, чтобы мое Представление отделалось единственной Модели. Я хочу, чтобы моя Модель предметной области представила концептуальную модель, которую я создаю со специалистами по проблемной области. ViewModel часто имеет технические ограничения. Модель предметной области о ПОСТЕПЕННО, и не быть связанным техническими ограничениями или данных, показанных (Представление), или сохранилась (в DB или иначе).
предположим у меня есть три объекта, показанные на экране. Это означает, что я должен вызвать отношения между тремя? Или просто создайте объект компонента ViewModel, который содержит все три объекта. С отдельным ViewModel проблемы Представления разделяются от моего домена.
Существуют еще более простые проблемы включая способность модели представления, которая будет особенно отформатирована и конечно пустая безопасная.
почему? потому что представление не должно иметь способности использовать объект модели!
Предполагают, что Вы передаете проект веб-дизайнеру сделать слой представления. Внезапно у него есть способность бездельничать с данными Вашего приложения через образцовый слой. Это не хорошо.
Поэтому всегда только передают данные потребности представления, вместо объекта с методами.
J.P. Экран статьи Boodhoo Связанный DTOs поможет Вам понять преимущество дизайна.
существует также преимущество безопасности , что я записал о.
Наличие модели представления упрощает Ваши представления. Это особенно важно, потому что представления обычно очень трудно протестировать. При наличии модели представления Вы перемещаете большую работу из представления и в домен-> модель представления. Вещи как форматирование, обработка нулевых значений и выравнивание графов объектов.
я соглашаюсь, что дополнительное отображение является болью, но я думаю, что, вероятно, необходимо попробовать оба подхода в определенном контексте для наблюдения что работы лучше всего для Вас.
Я предполагаю, что идея состоит в том, что Ваши модели предметной области могли бы расшириться на другие реализации, не только Ваше приложение MVC, и это повредит разделения принципа проблем. Если Ваша Модель Представления ЯВЛЯЕТСЯ Вашей моделью предметной области тогда, Ваша модель предметной области имеет две причины измениться: доменное требование изменения И изменение требования представления.
Кажется, что у меня есть дублирование правил также.
т.е. проверка объекта клиента на UI, затем отображаясь на объект области, который должен быть проверен.
то, Что я склонен делать однако, является картой мой набор объектов области для создания модели - т.е. веб-страница, которая показывает информацию о клиенте, информацию о запасе, и т.д.... моя модель становится структурой, которая содержит Потребительский объект и объект Stock.
Потребительский Клиент общественности CompanyPageModel
{добираются;} общественность Stock Stock {добираются;}
тогда в моем mvc ViewData проекта. Модель. Клиент. Имя ViewData. Модель. Stock. Разделение CurrentStocks
'кажется' как больше работы, но позже, хорошо иметь это подразделение UI/модели предметной области... sorta как запись тестов:)