1

私は持っています :

var c = cboCustomer.SelectedItem as Customer;
var t = cboTrailer.SelectedItem as Trailer;
using (var db = new CAPSContainer())
{
   db.Attach(c); --> Tracker has now 1 entity
   db.Attach(t); --> Tracker has now 2 entities
   c.Trailers.Remove(t); --> Tracker has now 29! entities loaded
   db.DeleteObject(t);
   db.SaveChanges();
}

この読み込み/キャッシュがどのように機能しているかを理解しようとしています。これに関連する他の問題があるためです。キャッシュされた量が突然急増する理由はありますか?

EF5.0を使用しています。

4

1 に答える 1

0

デフォルトの構成では、おそらくLazyLoadingEnabledが設定されています。したがって、子リストはアクセスされるまで読み込まれません。詳細な説明については、次の記事を参照してください。

http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/reading-related-data-with-the-entity-framework-in-an-asp-net-mvc-応用

ちなみに、ロットをロードせずに1つだけ削除したい場合は、Boomerが言ったようにDeleteObjectを使用できます。

于 2012-12-07T10:03:28.667 に答える