Compartilhar via


EntityReference<TEntity>.Load(MergeOption) Método

Definição

Carrega o objeto relacionado para isso EntityReference<TEntity> com a opção de mesclagem especificada.

public:
 override void Load(System::Data::Objects::MergeOption mergeOption);
public override void Load(System.Data.Objects.MergeOption mergeOption);
override this.Load : System.Data.Objects.MergeOption -> unit
Public Overrides Sub Load (mergeOption As MergeOption)

Parâmetros

mergeOption
MergeOption

Especifica como o objeto deve ser retornado se ele já existir no ObjectContext.

Exceções

A origem do EntityReference<TEntity> é null.

-ou-

Uma consulta retornou mais de uma extremidade relacionada.

-ou-

Uma consulta retornou zero extremidades relacionadas e uma extremidade relacionada era esperada.

Comentários

Esse método é usado para carregar o objeto relacionado.

Quando carregado, o objeto relacionado é acessado da Value propriedade.

Para carregar explicitamente objetos relacionados, você deve chamar o Load método na extremidade relacionada retornada pela propriedade de navegação. Para uma relação um-para-muitos, chame o Load método EntityCollection<TEntity>e, para uma relação um-para-um, chame o Load on EntityReference<TEntity>. Isso carrega os dados de objeto relacionados no contexto do objeto. Quando uma consulta retorna resultados, você pode enumerar por meio da coleção de objetos usando um foreach loop (For Each...Next no Visual Basic) e chamar condicionalmente o Load método EntityReference<TEntity> e EntityCollection<TEntity> as propriedades de cada entidade nos resultados.

O Load método carrega objetos relacionados da fonte de dados.IsLoadedtrue

Nota

Quando você chama o Load método durante uma foreach enumeração (C#) ou For Each (Visual Basic), os Serviços de Objeto tentam abrir um novo leitor de dados. Essa operação falhará, a menos que você tenha habilitado vários conjuntos de resultados ativos especificando multipleactiveresultsets=true na cadeia de conexão. Você também pode carregar o resultado da consulta em uma List<T> coleção. Isso fecha o leitor de dados e permite que você enumere na coleção para carregar objetos referenciados.

Esse método chama o método interno RelatedEnd.ValidateLoad antes de carregar o objeto relacionado, o que valida que uma chamada Load tem as condições corretas. O RelatedEnd.ValidateLoad método verifica se:

Quando o objeto relacionado já está carregado no ObjectContextmétodo, o Load método impõe o MergeOption especificado pelo mergeOption parâmetro. Para obter mais informações, consulte Resolução de Identidade, Gerenciamento de Estado e Controle de Alterações.

Aplica-se a

Confira também