Запросы user_tables
и dba_tables
не работали.
Этот сделал:
select table_name from all_tables
Попробуйте вместо этого использовать запрос 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)
Проверьте http://www.codeproject.com/KB/architecture/attachobjectgraph.aspx
Это отличное решение и может помочь вам - имейте в виду, что у автора также есть обновленная версия в своем блоге - http://www.codetuning.net/blog/post/Entity-Framework-reattaching-entity-graphs - (3) .aspx
Пол
используйте приведенный ниже код для хранения связанных объектов в памяти.
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);
}
}