LinqDataSourceSelectEventArgs.Result Propriedade
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.
Obtém ou define o objeto de dados que é usado na consulta de dados.
public:
property System::Object ^ Result { System::Object ^ get(); void set(System::Object ^ value); };
public object Result { get; set; }
member this.Result : obj with get, set
Public Property Result As Object
Valor de Propriedade
Um objeto que representa os dados para a consulta.
Exemplos
O exemplo seguinte mostra como definir a Result propriedade para o resultado de uma consulta LINQ.
protected void LinqDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
ExampleDataContext exampleContext = new ExampleDataContext();
e.Result = from p in exampleContext.Products
where p.Category == "Beverages"
select new {
ID = p.ProductID,
Name = p.Name
};
}
Protected Sub LinqDataSource_Selecting(sender As Object, e As LinqDataSourceSelectEventArgs)
Dim exampleContext As New ExampleDataContext()
e.Result = From p In exampleContext.Products Where p.Category = "Beverages"
Select New With { _
Key .ID = p.ProductID, _
Key .Name = p.Name _
}
End Sub
O exemplo seguinte mostra como definir a Result propriedade para um array de valores de cadeia definido na página Web.
public partial class Default3 : System.Web.UI.Page
{
string[] citiesArray =
{
"Atlanta",
"Charlotte",
"Denver",
"New York",
"San Francisco"
};
protected void Page_Load(object sender, EventArgs e)
{
}
protected void LinqDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
var cities = from city in citiesArray
where city.CompareTo("B") > 0
select city;
e.Result = cities;
// Or we could set e.Result = citiesArray to return all rows.
}
}
Partial Class Default3
Inherits System.Web.UI.Page
Dim citiesArray() As String = _
{ _
"Atlanta", _
"Charlotte", _
"Denver", _
"New York", _
"San Francisco" _
}
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub LinqDataSource_Selecting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LinqDataSourceSelectEventArgs) Handles LinqDataSource1.Selecting
Dim cities = From city In citiesArray _
Where city > "B" _
Select city
e.Result = cities
' Or we could set e.Result = citiesArray to return all rows.
End Sub
End Class
Observações
Por defeito, o controlo LinqDataSource aplica as suas expressões de consulta ao objeto definido na TableName propriedade. Num handler para o Selecting evento, podes alterar manualmente qual o objeto consultado definindo a Result propriedade para um objeto. Por exemplo, pode usar a Result propriedade para consultar uma coleção em memória na página Web, ou para obter os resultados de uma expressão de consulta LINQ. Podes definir a Result propriedade para qualquer objeto. Se o objeto não implementar a IEnumerable<T> interface, o controlo LinqDataSource envolve o objeto num objeto que implementa a IEnumerable<T> interface.
Quando a Result propriedade é definida para qualquer valor diferente de null, o LinqDataSource controlo não consulta o objeto definido na TableName propriedade. Em vez disso, consulta o objeto na Result propriedade.
Note
Quando definir a Result propriedade para um objeto, não use null para representar um objeto que não contenha qualquer dado. O LinqDataSource controlo interpreta null como significando que a Result propriedade não está definida, e irá criar e consultar o objeto na TableName propriedade. Para representar um objeto que não contém dados, defina a Result propriedade para um IList objeto ou IList<T> que não contenha quaisquer elementos.
Os ContextCreatingeventos , ContextCreated, e ContextDisposing não são levantados quando se define programaticamente a Result propriedade para um objeto, e quando se aplicam duas condições adicionais. As condições são que ou os valores originais não têm de ser armazenados no estado de visualização, ou o objeto na Result propriedade implementa a ITable interface.