Вложенный UnitOfWork не работает в приложении Asp.net - PullRequest
0 голосов
/ 01 июня 2018

У меня есть сценарий, в котором я должен использовать UnitOfWork для одной таблицы внутри UnitOfWork для другой таблицы.Это почему-то не работает.

CurrentUnitOfWork.Save() работает как положено, но код, в котором я обновляю значение флага в таблице tbl_data, фактически не обновляет флаг.

Ниже приведена структура кода Iиспользовали до сих пор:

using (UnitOfWork CurrentUnitofWork = new UnitOfWork())    
 {
  int empID=2134;
  //Calculation for having a value of data field     
....   
....    
...
CurrentUnitofWork.Save();

if(data==1)  
   UpdateFlag(1, empID); 
else
  UpdateFlag(0, empID);  
 }

Вот код для метода UpdateFlag:

   public UpdateFlag(int flagValue, int empID)    
   {    
     using (UnitOfWork unitOfWork= new UnitOfWork())
       {
         tbl_data empDetails = unitOfWork.tbl_data.get(x=>x.EmpID==empID).ToList().Single();
         if (empDetails != null)
         {
           empDetails.ActiveFlag= flagValue;
           unitOfWork.tbl_data.Update(empDetails);
           unitOfWork.Save();
         }
       }
   }

1 Ответ

0 голосов
/ 11 июня 2018

Я решил проблему самостоятельно.

using (UnitOfWork CurrentUnitofWork = new UnitOfWork())    
 {
  int empID=2134;
  //Calculation for having a value of data field     
....   
....    
...
CurrentUnitofWork.Save();

if(data==1)  
   UpdateFlag(1, empID); 
else
  UpdateFlag(0, empID); 

CurrentUnitofWork.Save(); 
 }

Просто добавив CurrentUnitofWork.Save(); после обновления метода внутренней единицы работы, я решил свою проблему.Я не уверен, что за этим стоит, но у меня это сработало.

...