ObjectDataSource.Select Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Recupera dados do armazenamento subjacente chamando o método identificado pela SelectMethod propriedade com os parâmetros na SelectParameters coleção.
public:
System::Collections::IEnumerable ^ Select();
public System.Collections.IEnumerable Select();
member this.Select : unit -> System.Collections.IEnumerable
Public Function Select () As IEnumerable
Devoluções
Uma IEnumerable lista de linhas de dados.
Exemplos
Para obter um exemplo de código, consulte ObjectDataSource.
Observações
O método especificado pode ter qualquer assinatura de método, mas deve devolver ou ser derivado de um dos tipos listados na tabela seguinte para que o ObjectDataSource controlo o chame com sucesso.
| Tipo de retorno | Ação |
|---|---|
| IEnumerable | O IEnumerable é devolvido pelo Select método. |
| DataTable | A é criado usando o DataTable e devolvido DataView pelo Select método. |
| DataView | O DataView é devolvido pelo Select método. |
| DataSet | O primeiro DataTable dos DataSet é extraído e a DataView é criado e devolvido pelo Select método. |
| Object | O objeto é envolto numa coleção de um elemento IEnumerable e devolvido pelo Select método. |
O método identificado pela propriedade SelectMethod pode ser um método de instância ou um método static (Shared em Visual Basic). Se for um método de instância, o objeto de negócio é criado e destruído cada vez que o método especificado pela SelectMethod propriedade é chamado, exceto que a mesma instância é usada para chamar o método especificado pela SelectMethod propriedade e o método especificado pela SelectCountMethod propriedade. O Select método devolve uma IEnumerable interface. No entanto, para permitir caches e cenários de filtragem, o valor de retorno deve ser um DataSet objeto. Embora a DataSet classe não implemente a IEnumerable interface, o controlo ObjectDataSource extrai automaticamente o controlo padrão DataView , que implementa o IEnumerable.
Antes de a Select operação ser realizada, o OnSelecting método é chamado para elevar o Selecting evento. Pode gerir o Selecting evento para examinar os valores dos parâmetros e realizar qualquer pré-processamento antes de uma Select operação. Para realizar uma operação de recuperação de dados, o ObjectDataSourceView objeto utiliza reflexão para criar uma instância do objeto identificada pela TypeName propriedade. Depois, chama o método identificado pela SelectMethod propriedade, usando quaisquer propriedades associadas SelectParameters . Após a conclusão da Select operação, o OnSelected método é chamado para elevar o Selected evento. Pode gerir o Selected evento para examinar quaisquer valores de retorno, parâmetros de saída e exceções, bem como realizar qualquer pós-processamento.
Se a SelectMethod propriedade devolver um DataSet, DataTable, ou DataView objeto e a cache for ativada, recupera ObjectDataSource dados e guarda dados na cache durante a Select operação. A cache é criada, descartada ou atualizada com base no comportamento de cache especificado pela combinação das CacheDuration propriedades e.CacheExpirationPolicy
Se a SelectMethod propriedade devolver um DataSet objeto ou DataTable e uma FilterExpression propriedade tiver sido especificada, esta é avaliada com quaisquer propriedades fornecidas FilterParameters e o filtro resultante é aplicado à lista de dados durante a Select operação.
O Select método delega ao Select método do ObjectDataSourceView que está associado ao ObjectDataSource controlo.
Para mais informações sobre fusão de parâmetros, vida útil do objeto e resolução do método, veja SelectMethod.
Data-Bound Controlo
Quando o ObjectDataSource controlo está associado a um controlo encadernado por dados, como o GridView controlo, não é necessário chamar o Select método a partir do código de página. O Select método é invocado diretamente pelo controlo data-bound em vez disso.