Платформа объекта - Отсоединение и сохраняет связанный граф объектов

Запросы user_tables и dba_tables не работали.
Этот сделал:

select table_name from all_tables  
31
задан 21 July 2009 в 10:40
поделиться

3 ответа

Попробуйте вместо этого использовать запрос NoTracking. Таким образом, объекты никогда не присоединяются, поэтому вам не нужно «отсоединять», когда граф измельчается:

т.е.

using (var creativeWorkshopEntities = new CreativeWorkshopEntities())        
{            
    creativeWorkshopEntities.Job.MergeOption = MergeOption.NoTracking;
    var q = from c in creativeWorkshopEntities.Job.Include("Files")
            where c.Id == jobId                    
            select c;            
    var job = q.First();            
    return job;
} 

Надеюсь, это поможет

Алекс

(менеджер программы Entity Framework Team)

24
ответ дан 27 November 2019 в 22:45
поделиться

Проверьте http://www.codeproject.com/KB/architecture/attachobjectgraph.aspx

Это отличное решение и может помочь вам - имейте в виду, что у автора также есть обновленная версия в своем блоге - http://www.codetuning.net/blog/post/Entity-Framework-reattaching-entity-graphs - (3) .aspx

Пол

2
ответ дан 27 November 2019 в 22:45
поделиться

используйте приведенный ниже код для хранения связанных объектов в памяти.

  using (var creativeWorkshopEntities = new CreativeWorkshopEntities())
  {
                var q = from c in creativeWorkshopEntities.Job.Include("Files")
                        where c.Id == jobId
                        select c;

                var job = q.First();

                return (Job)Detach(job);
   }

  private Object Detach(Object object)
  {
            using (var stream = new MemoryStream())
             {
                var formatter = new BinaryFormatter();
                formatter.Serialize(stream, dbo);
                stream.Position = 0;
               return formatter.Deserialize(stream);
             }
   }
0
ответ дан 27 November 2019 в 22:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: