当我想检索仅用于显示的数据时,我应该使用MergeOption.NoTracking吗

本文关键字:我应该 MergeOption NoTracking 数据 检索 用于 显示 | 更新日期: 2023-09-27 18:00:51

假设我想在网页上显示一些数据,所以我加载数据:

using (KEntities ctx = new KEntities())
{
    ctx.KSet.MergeOption = MergeOption.NoTracking;
    var items = (from c in ctx.KSet
                 where c.ParentId == 0
                 select new
                 {
                     Title = c.Title,
                     Id = c.Id,                           
                     Subs = ctx.KSet.Where(o => o.ParentId == c.Id)                                      
                 }).ToList();
 }

使用MergeOption.NoTracking有什么好处吗
如果是现在,我应该什么时候使用它?

当我想检索仅用于显示的数据时,我应该使用MergeOption.NoTracking吗

是的,如果你只想要数据,那么使用MergeOption.NoTracking。这意味着它们不会存储在跟踪实体以进行更新和删除的图形中。这有助于在内存方面提高性能。