É consulta para novo objeto acrescentado possível no MS Entity Framework

votos
5

Existe uma maneira de consultar ou objeto basta acessar recém-adicionado (usando ObjectContext.AddObject método) no Entity Framework? Quero dizer situação quando ela ainda não é guardado para armazenamento de dados usando SaveChanges

Eu entendo que as consultas são convertidos para SQL subjacente e executado em armazenamento de dados, e não tem esse novo objeto ainda. Mas de qualquer maneira, estou curioso - se não for oficialmente suportado, talvez seja possível em teoria. Se não é, como desenvolvedor pode lidar com isso? controlar manualmente novos objetos e consultá-los usando o Linq para objetos?

A mesma questão também se aplica a LinqToSql.

Publicado 28/11/2008 em 17:40
fonte usuário
Em outras línguas...                            


2 respostas

votos
7

Na EF, se você usar esse código, você tem todas as entidades que já estão carregados no contexto (incluindo os recém-adicionadas):

context.ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Modified | EntityState.Unchanged).Select(o => o.Entity).OfType<YourObjectType>()
Respondeu 29/01/2009 em 11:06
fonte usuário

votos
2

"A mesma pergunta também se aplica a LinqToSql."

Para LINQ to SQL, olhar DataContext.GetChangeSet(); isto tem 3 coleções separadas para o pendente .Inserts, .Updatese.Deletes

Note que o ChangeSeté um instantâneo de quando o GetChangeSet()método é chamado; você precisa re-consulta para ver quaisquer alterações adicionais.

Respondeu 29/01/2009 em 11:09
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more