каркас сущности ctp5 получает незафиксированный объект - PullRequest
3 голосов
/ 15 февраля 2011

EF CTP 5. У меня есть один экземпляр, где я хотел бы получить незафиксированную сущность.Я не могу найти способ сделать это.Я не хочу отключать создание прокси все вместе, просто нужно это для этого одного запроса.Кто-нибудь может помочь?

Вот простой пример:

var myEntity = DbContext.Entities.Find(1);
var unproxy = myEntity...?

1 Ответ

3 голосов
/ 16 февраля 2011

Я считаю, что единственная возможность - создать новый экземпляр DbContext и отключить создание прокси только для выполнения этого запроса.Причина в том, что DynamicProxy - это тип, созданный во время выполнения, который наследуется от вашего исходного типа сущности и добавляет функции отслеживания и отложенной загрузки.Вы не можете удалить прокси, если создали его таким образом.Попробуйте это:

using (var context = new MyDbContext(connectionString))
{
  ((IObjectContextAdapter)context).ObjectContext.ContextOptions.ProxyCreationEnabled = false;
  var myEntity = context.Entities.Find(1);
}
...