Adding a new field to an entity in nopCommerce
1. Add the property to your entity class in Nop.Common (e.g. Customer.cs)
2. Add the property to your DB Entity class in Nop.DataAccess (e.g. DBCustomer.cs)
3. Update the DBMapping function in your EntityManager to map the new fields from data entity to business objects (e.g. CustomerManager)
4. Update your insert and update methods in DBEntityProvider (e.g. DBCustomerProvider) to include the new parameter.
5. Update your insert and update methods in EntityManager to include a parameter for your new field (e.g. CustomerManager) and pass this to your updated DBEntityProvider methods
6. Update insert and update methods in Sql provider (e.g. SqlCustomerProvider) to accept new parameter (and pass to stored proc)
7. Update GetEntityFromReader methods in Sql provider to map new field from database.
8. Modify EntityInsert and EntityUpdate stored procs to accept new parameter (select procs should be okay since most of them are select *)
Think that's it.
Admittedly I have to agree with those in favour of using ORM technologies, in that the above process is a bit long winded to add one field. However I have done a lot of work with the nopCommerce architecture recently that make extending the nopCommerce providers much easier. With the changes I plan to implement it would only be necessary to update the Business/DB entity objects with the new field, the business insert/update methods with the new parameter and the business/sql mappings.