EntityFramework 5を使用してオブジェクトを削除しようとしていますが、このエラーが発生します。それはDeleteObject()
はEF5中に存在していないとして、私はRemove()
メソッドを使用していますObjectStateManager
で見つからなかったため、 オブジェクトを削除することはできません。 誰かが私が逃しているものを助けることができますか?エンティティフレームワーク5のObjectStateManagerにオブジェクトが見つかりませんでしたので、オブジェクトを削除できません
これは
localDb.Customers.Remove(new Customer() { CustomerId = id });
localDb.SaveChanges();
私は削除に状態を変更するには、MSDNからしようとした別のものを削除するには機能しません。しかしここでは、すべてのフィールドが存在する必要があるというエラーが返されます。完全なレコードを取得して削除する必要がありますか?
var customer = new Customer(){ CustomerId = id };
localDb.Customers.Attach(customer);
localDb.Entry(customer).State = EntityState.Deleted;
localDb.SaveChanges();
入力はありますか?
私のコンセプトを改善してくれたNicholasに感謝します.SQL側ではなくEF側で検証が行われるのはなぜですか?この設定は私には大事なものだから1ヒットのための唯一の方法です...何かが間違っていれば私を修正してください.. –
これまでのところ、これはDbへの2回のトリップを引き起こすことなく私が信じる唯一の答えです。したがって、これをパフォーマンスの点で回答としてください。 –
northwind.Entry(エンティティ).State = System.Data.Entity.EntityState.Deleted; 固定、ありがとう – balron