This is my first post here, my name it's Manuel Seromenho, i'm from Portugal, and I'm starting to use the NopCommerce 1.40, I have some knowledge about C# and ASP.NET as well SQL database managing.
When I tried to delete products through the sql administration software that I have installed on my hosting space, it showed an error message about not being able to delete as there was a conflict with a Foreign Key (FK), in this case table Nop_Product and Nop_ProductVariant conflict. So I tried to delete all rows in Nop_ProductVariant, and again it showed an error message about not being able to delete as there was a conflict with other FK, in this case Nop_Order. And then I remembered I had made an order as test, so I think this was the obstacle, as I couldn't erase a product that have an order on it.
I didn't tried to erase rows 1 by 1, so I don't no if the error that was showed it would only appear when I tried deleting all rows at once.
Other thing that it's important to notice, it's that when you try to delete a product in the administration of NopCommerce, after deleted it will not appear on the administration, but on the database in the Nop_product table, it will not be erased. I don't know if this is a normal procedure of the Nop_Commerce database construction, or just a bug.
I want to say that I'm sorry for my english, and offer my congratulations to the NopCommerce Team and Community and all people envolve on it, as I think this is an fantastic web software. :)
there is a good reason for not physically deleting the record from the DB. suppose you had a product that was sold on your site and is not available anymore or you dont carry anymore. if you look at historical data and want to see the order details of one or more customers who bought it, if the product does not exist in the db anymore, you would have errors and alot of data inconsistencies.