2015-02-09 5 views
0

Я использую MVC и сущность Framework для сохранения данных через репозитории.Применить изменения к модели

Обычно модель просмотра и модель 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 сделано для. –

ответ

1

Рассмотрите возможность использования AutoMapper:

Mapper.CreateMap<AttributeImportModel, AttributeImport>(); 
Mapper.Map(dbdef, entity); //Mapper.Map(source, target) 
Смежные вопросы