本文转自:http://www.tech-coder.com/2015/07/how-to-add-new-table-in-nopcommerce.html
Hey guys I am back after a long time near about 2 year. And hope my previous blogs help's to anyway to my friends.
So I am going to starting with NopCommerce for how to add new table. This is the common question for newbie of NopCommerce.
Basically here sharing my experience with you guys that will help to other.
Step by step explanation for how to add new table on NopCommerce.
Going to explain based on the NopCommerce source code.
So first open source code on visual studio then follow the below steps (Also refer any existing classes/table).
1. Create the Entity class related to table name (e.g. Enity.cs)
Path : SolutionLibrariesNop.CoreDomainEntity.cs
2. Create a Mapping class which bind class to Database table (e.g. EntityMap.cs)
Path : SolutionLibrariesNop.DataMappingEntityMap.cs
3. Create a Model class for MVC (i.e. for Admin or Web) (e.g EntityModel.cs)
Path : SolutionPresentationNop.WebModelsEntityModel.cs (for Web)
Path : SolutionPresentationNop.AdminModelsEntityModel.cs (for Admin)
4. Create a validator for model (e.g. EntityValidator.cs)
Path : SolutionPresentationNop.WebValidatorsEntityValidator.cs (for Web)
Path : SolutionPresentationNop.AdminValidatorsEntityValidator.cs (for Admin)
5. Create A Mapping Configuration On AutoMapperStartupTask.cs for Entity and Model
Path : SolutionPresentationNop.AdminInfrastructure
Mapping Model to Entity and Entity to Model
Mapper.CreateMap<MyTest, MyTestModel>()
.ForMember(dest => dest.Name, mo => mo.Ignore())
.ForMember(dest => dest.MyTestId, mo => mo.Ignore());
Mapper.CreateMap<MyTestModel, MyTest>()
.ForMember(dest => dest.Name, mo => mo.Ignore())
.ForMember(dest => dest.MyTestId, mo => mo.Ignore());
6. Apply Mapping between Model and Entity on MappingExtensions.cs
Path : SolutionPresentationNop.WebExtensions(for Web)
Path : SolutionPresentationNop.AdminExtensions(for Admin)
7. Create a service class and service interface (e.g EntityService.cs , IEntityService.cs)
Path : SolutionLibrariesNop.ServicesIEntityService.cs
Path : SolutionLibrariesNop.ServicesEntityService.cs
8. Final step to create Controller and View for given Model.
Hope you get basic idea how to create/add new table on NopCommerce system