Как добавить новые таблицы в NOPCommerce v2.4 - PullRequest
9 голосов
/ 29 марта 2012

Я новичок в NopCommerce v2.4 и мне интересно, где я могу написать свой код (создав новую модель в разделе admin или nop.web)

Ответы [ 5 ]

20 голосов
/ 02 июня 2012

Я потратил много времени на изучение глубин этой проблемы. Я могу подвести итог решения следующим образом:

  1. Создать класс сущностей (например, Entity.cs)

    Путь: Nop / Core / Domain / Entity.cs

  2. Создание класса сопоставления (например, EntityMap.cs)

    Путь: Nop / Data / Mapping / EntityMap.cs

  3. Создание модели для MVC (например, EntityModel.cs)

    Путь: Nop / Admin / Models / EntityModel.cs ИЛИ Nop / Web / Models / EntityModel.cs

  4. Создание валидатора для модели (например, EntityValidator.cs)

    Путь: Nop / Admin / Validators / EntityValidator.cs ИЛИ Nop / Web / Validators / EntityValidator.cs

  5. Создание конфигурации сопоставления в AutoMapperStartupTask.cs для сущности и модели

    Путь: Нет / Администратор / Инфраструктура ИЛИ Нет / Веб / Инфраструктура

  6. Применить сопоставление между моделью и объектом на MappingExtensions.cs

    Путь: Nop / Admin ИЛИ Nop / Web

  7. Создание класса обслуживания и интерфейса обслуживания (например, EntityService.cs, IEntityService.cs)

    Путь: Nop / Services / EntityService.cs и Nop / Services / IEntityService.cs

  8. Служба регистрации для внедрения зависимостей

    Путь: Nop / Web / Framework / DependencyRegistrar.cs

  9. Наконец, создайте контроллер и просмотр для данной модели

, поскольку Nop Commerce использует самый первый выпуск MVC3, миграция базы данных не поддерживается, и вы должны вносить изменения в таблицы базы данных вручную. Поскольку MVC code-first должен отбросить и воссоздать вашу базу данных для отражения изменений в вашей базе данных.

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

3 голосов
/ 19 ноября 2012

Behnam Esmaili Решение верное, но они забыли добавить один шаг для регистрации вновь созданной службы контроллера в презентации ==> Nop.Web.Framework ==> DependencyRegistrar.cs, как это

builder.RegisterType<EntityService>().As<IEntityService>().InstancePerHttpRequest();         
2 голосов
/ 30 марта 2012

На этот вопрос ответили на форуме NOPCommerce здесь

http://www.nopcommerce.com/docs/75/plugin-with-data-access.aspx

1 голос
/ 11 октября 2012

@ Behnam Esmaili

Ответил на прекрасный ответ, но вы должны столкнуться с проблемой при создании контроллера, потому что вы не сможете создать экземпляр из IEntityService, потому что nopCommerce использует Dependency Injection, и это контролируется AutoFac контейнер.

То есть вы должны Проверьте это сообщение на форуме nopCommerce , это будет полезно, чтобы помочь вам завершить работу.

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

0 голосов
/ 04 сентября 2016

Остался один шаг Ответ Behnam Esmaili

Создать таблицу в базе данных NopCommerce.

Примечание: Необходимо вручную создать таблицу в базе данных.

Наконец, создайте контроллер и его представление.

Если вы хотите получить более подробную информацию, нажмите здесь !

...