我有以下查询:
DbContext.Export
.Include(e => e.ExportPackages).ThenInclude(ep => ep.Package)
.FirstOrDefault(e => e.Id == 123);
我想跟踪ExportPackages,但是我不想跟踪相关的软件包。 我该怎么办?
我有什么:
var export = DbContext.Export.AsNoTracking()
.Include(e => e.ExportPackages).ThenInclude(ep => ep.Package)
.FirstOrDefault(e => e.Id == 123);
DbContext.ChangeTracker.TrackGraph(export, c =>
{
// track everything except Packages
if (c.Entry.Entity is not Package)
{
c.Entry.State = EntityState.Detached;
}
});
它可以工作,但是看起来它首先跟踪实体,然后分离它们