LinqDataSourceSelectEventArgs.Result Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia obiekt danych używany w zapytaniu danych.
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
Wartość właściwości
Obiekt reprezentujący dane zapytania.
Przykłady
W poniższym przykładzie pokazano, jak ustawić Result właściwość na wynik zapytania 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
W poniższym przykładzie pokazano, jak ustawić Result właściwość na tablicę wartości ciągów jest definiowana na stronie sieci 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
Uwagi
Domyślnie kontrolka LinqDataSource stosuje wyrażenia zapytania do obiektu zdefiniowanego TableName we właściwości . W procedurze obsługi zdarzenia Selecting można ręcznie zmienić obiekt, którego dotyczy zapytanie, ustawiając Result właściwość na obiekt. Można na przykład użyć Result właściwości , aby wykonać zapytanie dotyczące kolekcji w pamięci na stronie sieci Web lub uzyskać wyniki z wyrażenia zapytania LINQ. Właściwość można ustawić Result na dowolny obiekt. Jeśli obiekt nie implementuje interfejsu IEnumerable<T> , LinqDataSource kontrolka opakowuje obiekt w obiekcie, który implementuje IEnumerable<T> interfejs.
Gdy właściwość jest ustawiona Result na dowolną wartość inną niż null
, kontrolka LinqDataSource nie wykonuje zapytania względem obiektu zdefiniowanego TableName we właściwości . Zamiast tego wysyła zapytanie do obiektu we Result właściwości .
Uwaga
Po ustawieniu Result właściwości na obiekt nie należy null
używać do reprezentowania obiektu, który nie zawiera żadnych danych. Kontrolka LinqDataSource interpretuje null
, aby oznaczać, że Result właściwość nie jest ustawiona i utworzy obiekt w TableName właściwości i odpytuje go. Aby reprezentować obiekt, który nie zawiera danych, ustaw Result właściwość na IList obiekt lub IList<T> , który nie zawiera żadnych elementów.
Zdarzenia ContextCreating, ContextCreatedi ContextDisposing nie są wywoływane podczas programowego ustawiania Result właściwości na obiekt i gdy mają zastosowanie dwa dodatkowe warunki. Warunki są takie, że oryginalne wartości nie muszą być przechowywane w stanie widoku lub obiekt we Result właściwości implementuje ITable interfejs.