Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么缓存的实体突然跳转?_C#_Linq_Entity Framework_Caching_Lambda - Fatal编程技术网

C# 为什么缓存的实体突然跳转?

C# 为什么缓存的实体突然跳转?,c#,linq,entity-framework,caching,lambda,C#,Linq,Entity Framework,Caching,Lambda,我有: 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.Rem

我有:

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();
}
我正试图了解这个加载/缓存是如何工作的,因为我有一些其他相关问题,你知道为什么缓存量突然增加吗


我使用的是EF 5.0。

您的默认配置可能设置了LazyLoadingEnabled。因此,子列表在被访问之前不会被加载,请参阅本文以获得更详细的解释:


顺便说一句,如果你只是想在不装载货物的情况下移除一个拖车,那么你可以像布默说的那样使用DeleteObject。

可能是因为它装载拖车是为了移除拖车。@JustinHarvey为什么要这样做,为什么是29?如果没有更多关于您使用的EF版本以及是否先使用代码或模型等的信息,就很难知道。您的数据库中已经存在Customer SelectedItem?它有多少预告片?因为当你说c.trailes时,它告诉dbcontext从数据库加载所有预告片,正如@JustinHarvey所说的