0

Web ページに切断されたオブジェクトを作成したい:

var entity = new MyEntity();
entity.ID = IdFromPage;
entity.Name = UpdatedNameFromPage;

それをオブジェクトコンテキストに接続してから、 context.Save() を呼び出します

しかし、どうすればこれを行うことができますか?このようなエンティティを抽出するためにlinqを使用する必要はありません...

var entityFromPage = new MyEntity();
entity.ID = IdFromPage;
entity.Name = UpdatedNameFromPage;

var connectedEntity = _db.MyEntities.Where(x => x.ID == IdFromPage).First();
connectedEntity.ID = entityFromPage.ID;
connectedEntity.Name = entityFromPage.Name;

このスクリプトの 2 番目の部分は大規模になる可能性があるため、すべてを再マップする必要はありません。ID に挿入して Save() を呼び出したいだけですが、これは可能ですか?

4

1 に答える 1

3

その必要はありません。

データベースにすでに存在することがわかっている場合は、

objectcontext.YourEntities.Attach(entity);
objectcontext.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);       
objectcontext.SaveChanges();

(新しいエンティティの場合は、コンテキストに追加します)

于 2012-07-30T18:46:39.003 に答える