0

私は最も奇妙な問題を抱えています.EFからオブジェクトを取得し、それを操作のためにビジネスロジックに戻します.終了したら、オブジェクトをDBに保存しようとしています.オブジェクトが次のメソッドに渡されると、それはEntityStateですModified ですが、コードの添付行が実行されるとすぐに UnChanged に設定されるため、保存は機能しません。

EFがこれを行う理由を知っている人はいますか?

    public void Save(IEntity entity)
    {
        using (var context = new eDocumentEntities())
        {
            using (var scope = new TransactionScope())
            {
                if (entity.Id != 0)
                    context.AttachTo(entity.EntitySet, entity);
                else
                    context.AddObject(entity.EntitySet, entity);
                context.SaveChanges();
                scope.Complete();
            }
        }
    }
4

2 に答える 2

1

エンティティの変更追跡は Context にカプセル化されているため、エンティティがコンテキストから切り離されると、エンティティの状態やその他の追跡情報が自然に失われます。

于 2012-04-13T12:14:32.407 に答える
0

ここで問題の解決策を見つけましたが、説明にもっと興味があります.EFがこれを行う理由は非常に非生産的です!?

http://geekswithblogs.net/michelotti/archive/2009/11/27/attaching-modified-entities-in-ef-4.aspx

于 2012-04-13T07:19:32.737 に答える