2016-10-11 6 views
0

У меня есть метод, который принимает два параметра. Projecthealthnotes - моя модель.Сравнение двух объектов, чтобы проверить, отличаются ли они.

Мне нравится сравнивать objprojHealth с объектом getRow, который я извлекаю из базы данных.

Если они такие же нет необходимости вызывать SaveChanges(), и если не одни и те же SaveChanges затем называют()

Как я могу сравнить эти два объекта и проверить, являются ли они то же самое?

  public string WriteProgressHealthInfoToDb(Projecthealthnotes objprojHealth, string typeOfOperation) 
        { 
         using (var dbCntxt = new PPMSEntities1()) 
         { 

           tbl_Project_Status_MSTR psmTable;    
           var convertedId = Convert.ToInt64(objprojHealth.Id); 
           var getRow = dbCntxt.tbl_Project_Status_MSTR.Single(m => m.ProjectStatusID == convertedId); 

           getRow.RecentProgress = objprojHealth.Recentprogress; 
           getRow.ObstaclesRisks = objprojHealth.Obstaclesrisk; 
           getRow.NextSteps = objprojHealth.Nextsteps; 
           getRow.ForWeekEnding = Convert.ToDateTime(objprojHealth.Weekendingdate); 
           getRow.BudgetHealth = Translator(objprojHealth.BudgetHealth); 
           getRow.TeamHealth = Translator(objprojHealth.TeamHealth); 
           getRow.RiskHealth = Translator(objprojHealth.RiskHealth); 
           getRow.ArtifactHealth = Translator(objprojHealth.BenefitHealth); 
           getRow.ScopeHealth = Translator(objprojHealth.ScopeHealth); 
           getRow.ScheduleHealth = Translator(objprojHealth.ScheduleHealth); 
           getRow.Phase = objprojHealth.Phase; 
           getRow.ReportingPeriod = Convert.ToInt16(objprojHealth.Reportingperiod); 

           //dbCntxt.Entry(getRow).State = System.Data.Entity.EntityState.Modified; 

           dbCntxt.SaveChanges(); 

          return "success"; 

         } 

ответ

0

Единственный способ сделать это - написать функцию, использующую отражение для сравнения каждого свойства. В зависимости от вашего объекта вам может понадобиться сделать что-то более сложное, если оно имеет вложенные ссылочные типы. В приведенной ниже ссылке приведены некоторые примеры

http://www.sidesofmarch.com/index.php/archive/2007/08/03/use-reflection-to-compare-the-properties-of-two-objects/

 Смежные вопросы

  • Нет связанных вопросов^_^