2015-02-09 20 views
0

我正在使用MVC和实体框架通过存储库保存数据。将更改应用到模型

通常情况下,View Model和entityDB模型略有不同,所以我在存储库中有类似的东西。有没有更好的办法?

private void ApplyChangesToModel(AttributeImportModel entity, AttributeImport dbDef) 
    { 
     dbDef.ApplicationID = entity.ApplicationID; 
     dbDef.Canceled = entity.Canceled; 
     dbDef.DateRequested = entity.DateRequested; 
     dbDef.Processed = entity.Processed; 
     dbDef.ScheduleID = entity.ScheduleID; 
     //dbDef.UniqueID = entity.UniqueID; 
     dbDef.UserID = entity.UserID; 
     dbDef.UserIP = entity.UserIP; 
    } 

    private void ApplyChangesToModel(AttributeImport dbDef, AttributeImportModel entity) 
    { 
     entity.AttributeImportID = dbDef.AttributeImportID; 
     entity.ApplicationID = dbDef.ApplicationID; 
     entity.Canceled = dbDef.Canceled; 
     entity.DateRequested = dbDef.DateRequested; 
     entity.Processed = dbDef.Processed; 
     entity.ScheduleID = dbDef.ScheduleID; 
     //dbDef.UniqueID = entity.UniqueID; 
     entity.UserID = dbDef.UserID; 
     entity.UserIP = dbDef.UserIP; 
    } 

    private void ApplyChangesToModel(AttributeImportModel dbDef, AttributeImportModel entity) 
    { 
     entity.AttributeImportID = dbDef.AttributeImportID; 
     entity.ApplicationID = dbDef.ApplicationID; 
     entity.Canceled = dbDef.Canceled; 
     entity.DateRequested = dbDef.DateRequested; 
     entity.Processed = dbDef.Processed; 
     entity.ScheduleID = dbDef.ScheduleID; 
     //dbDef.UniqueID = entity.UniqueID; 
     entity.UserID = dbDef.UserID; 
     entity.UserIP = dbDef.UserIP; 
    } 
+1

这是AutoMapper是为制作。 – 2015-02-09 09:02:25

回答

1

考虑使用AutoMapper:

Mapper.CreateMap<AttributeImportModel, AttributeImport>(); 
Mapper.Map(dbdef, entity); //Mapper.Map(source, target)