2013-02-05 22 views
0

我想使用telerik openaccess orm和automapper更新對象,它用於將對象添加到作用域但不更新。Telerik Openaccess ORM更新對象和自動映射器

我在他們的網站上看到有人有同樣的問題,但answer並沒有真正幫助我。這裏是我的代碼不更新我的對象:此行之後

try 
      { 
       if (!scope.Transaction.IsActive) 
        scope.Transaction.Begin(); 

       ObjQ objq = get_Q(scope, Id); 
       bool isNew = false; 

       if (objq == null) 
       { 
        objq = new ObjQ(); 
        isNew = true; 
       } 

       AutoMapper.Mapper.CreateMap<ObjQ , ObjQ >(); 

       objq = AutoMapper.Mapper.Map<ObjQ , ObjQ>(srcQ); 

       if (isNew) 
       { 
        scope.Add(objq); 
       } 

       scope.Transaction.Commit(); 

       success = true; 
      } 

我可以看到我的屬性以反映新的變化,但它不是誰比誰數據庫

objq = AutoMapper.Mapper.Map<ObjQ , ObjQ>(srcQ); 

回答

0

相同想要做同樣的事情,設法做到這一點是這樣的:

AutoMapper.Mapper.Map<ObjQ , ObjQ >(srcQ, objq); 
+0

好吧,我不得不說,在我的情況,我來發現Telerik的數據訪問不喜歡AutoMapper(或ValuInjecter爲此事)。此代碼不起作用: OBJ.Manutencao dbManutencao = this.mManutencaoRepository.Get(manutencao.ManutencaoID); { Mapper.Reset(); Mapper.CreateMap (); Mapper.Map (manutencao,dbManutencao); this.mUnitOfWork.SaveChanges(); 返回true; 某些屬性未正確映射。 – Stargazer