asp.net - save many property of modelview data in database mvc -


i have model view of product have many property , want save in database entity framework.but easy way using code :

public void newproduct(newproductmodel viewmodel) {    var dbmodel = repository.findproductbyid(viewmodel.id);    dbmodel.model = viewmodel.model;    dbmodel.brand = viewmodel.brand;    dbmodel.cost = viewmodel.cost;     //its' many     repository.addproduct(dbmodel);    repository.savechange(); } 

but property many. have better way reduce code?

you can use automapper or (https://github.com/automapper/automapper/wiki/configuration).

here's short example:

// make sure check out documentation before copy/pasting // code , using it's not proper way of using automapper public void newproduct(newproductmodel viewmodel) {     var dbmodel = repository.findproductbyid(viewmodel.id);      // if properties have same names automapper can automatically     var config = new mapperconfiguration(cfg =>        cfg.createmap<newproductmodel, yourdbmodeltype>());      // otherwise use can create own mapping rules     var config = new mapperconfiguration(cfg =>        cfg.createmap<newproductmodel, yourdbmodeltype>()         .formember(dest => dest.model, opt => opt.mapfrom(src => src.model))         .formember(dest => dest.brand, opt => opt.mapfrom(src => src.brand))         .formember(dest => dest.cost, opt => opt.mapfrom(src => src.cost)));       // mapping     var mapper = config.createmapper();     var dbmodel = mapper.map<yourdbmodeltype>(viewmodel);     repository.addproduct(dbmodel);    repository.savechange(); } 

you can find more info in documentation section on github repo


Comments