how would I add a new property "public string UNSPSC { get; set;}" to the category class?
This change allows you to extend the entities without modifying the core files, but you still have to do the changes in the nop projects:
1- Create a partial class in Nop.Core. I put all changes in a separate folder, so they are easier to identify, like MyProject/Domain/Category.myproject.cs (note the namespace has to be the same than the original class)
public partial class Category
{
public string UNSPSC { get; set;}
}
2.- Create a partial class in Nop.Data for the mapping, like MyProject/Mapping/Category.myproject.cs
public partial class CategoryMap
{
protected override void PostInitialize()
{
Property(c=>c.UNSPCS).IsOptional().HasMaxLength(400); // or whatever mapping you need
}
}
I hope this helps.