Share via


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

Definição

Carrega o objeto relacionado para este 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 deverá 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 em EntityCollection<TEntity>e, para uma relação um-para-um, chame o Load em EntityReference<TEntity>. Isso carrega os dados do objeto relacionado 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 em EntityReference<TEntity> propriedades e EntityCollection<TEntity> para cada entidade nos resultados.

O Load método carrega objetos relacionados da fonte de dados, independentemente de ser trueou não IsLoaded .

Observação

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 no 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, que valida que uma chamada para Load tem as condições corretas. O RelatedEnd.ValidateLoad método verifica se:

Quando o objeto relacionado já está carregado no ObjectContext, 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