EF 6 - AsNoTracking()抛出错误 - IEntityChangeTracker的多个实例无法引用实体对象

时间:2014-02-27 07:31:09

标签: entity-framework-6

请在EF4中找到以下代码。

  public IObjectSet<PositionVoyage> PositionVoyages
    {
        get 
        {           
            if (_positionVoyages == null)
            {
                var data = CreateObjectSet<PositionVoyage>("PositionVoyages");
                if (NoTracking)
                    data.MergeOption = MergeOption.NoTracking;
                else
                    data.MergeOption = MergeOption.OverwriteChanges;

                _positionVoyages = data;
            }
            return _positionVoyages;
        }       
    }

但是当我升级到EF6时,我遵循以下代码:

 public IDbSet<PositionVoyage> PositionVoyages
    {
        get
        {

            if (_positionVoyages == null)
            {
                var data = Set<PositionVoyage>();
                var query = data.AsNoTracking();
                _positionVoyages = data;
            }

            return _positionVoyages;
        }

    }

这里我最终得到了一个错误:

  

“实体对象不能被多个实例引用   IEntityChangeTracker。“当它到达线下时。

     

Context.AttachTo(entitySetName,entity);

请在这方面帮助我。

谢谢, 达摩

0 个答案:

没有答案