猿问

嵌套的 UnitOfWork 在 Asp.net 应用程序中不起作用

我有一个场景,我必须将 UnitOfWork 用于 UnitOfWork 中的一个表用于另一个表。它以某种方式不起作用。


CurrentUnitOfWork.Save() 正在按预期工作,但我在 tbl_data 表中更新标志值的代码实际上没有更新标志。


以下是我到目前为止使用的代码结构:


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();

         }

       }

   }


宝慕林4294392
浏览 263回答 1
1回答

天涯尽头无女友

我已经解决了我自己的问题。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();在更新内部工作单元方法后添加一个,就解决了我的问题。我不确定它背后的逻辑是什么,但它对我有用。
随时随地看视频慕课网APP
我要回答