Должен ли я использовать MergeOption.NoTracking, когда я хочу получить данные только для отображения? - PullRequest
2 голосов
/ 02 июля 2011

Допустим, я хочу отобразить некоторые данные на веб-странице, поэтому я загружаю данные:

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?
Если сейчас, когда я должен использовать это?

1 Ответ

3 голосов
/ 02 июля 2011

Да, если вам нужны только данные, используйте MergeOption.NoTracking.Это означает, что они не будут храниться в графе, который отслеживает сущность для обновления и удаления.Это помогает снизить производительность с точки зрения памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...