【问题标题】:Telerik Openaccess ORM Update Object and AutomapperTelerik Openaccess ORM 更新对象和自动映射器
【发布时间】:2013-02-05 11:59:39
【问题描述】:

我正在尝试使用 Telerik openaccess orm 和 automapper 更新对象,它适用于将对象添加到范围但不能更新。

我在他们的网站上看到有人遇到同样的问题,但 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);

【问题讨论】:

    标签: c# orm automapper telerik-open-access openaccess


    【解决方案1】:

    对于其他想要做同样事情的人,设法这样做:

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

    【讨论】:

    • 好吧,我不得不说,就我而言,我发现 Telerik Data Access 不喜欢 AutoMapper(或 ValuInjecter)。此代码不起作用:OBJ.Manutencao dbManutencao = this.mManutencaoRepository.Get(manutencao.ManutencaoID); { Mapper.Reset(); Mapper.CreateMap(); Mapper.Map(manutencao, dbManutencao); this.mUnitOfWork.SaveChanges();返回真;某些属性未正确映射。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多