LinqDataSourceSelectEventArgs.Result Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta l'oggetto dati utilizzato nella query di dati.
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
Valore della proprietà
Oggetto che rappresenta i dati per la query.
Esempio
Nell'esempio seguente viene illustrato come impostare la Result proprietà sul risultato di una query 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
Nell'esempio seguente viene illustrato come impostare la Result proprietà su una matrice di valori stringa nella pagina 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
Commenti
Per impostazione predefinita, il LinqDataSource controllo applica le espressioni di query all'oggetto definito nella TableName proprietà . In un gestore per l'evento è possibile modificare manualmente l'oggetto Selecting su cui viene eseguita una query impostando la Result proprietà su un oggetto . Ad esempio, è possibile usare la Result proprietà per eseguire query su una raccolta in memoria nella pagina Web o per ottenere i risultati da un'espressione di query LINQ. È possibile impostare la Result proprietà su qualsiasi oggetto . Se l'oggetto non implementa l'interfaccia IEnumerable<T> , il LinqDataSource controllo esegue il wrapping dell'oggetto in un oggetto che implementa l'interfaccia IEnumerable<T> .
Quando la Result proprietà è impostata su un valore diverso da null, il LinqDataSource controllo non esegue una query sull'oggetto definito nella TableName proprietà . Esegue invece una query sull'oggetto nella Result proprietà .
Annotazioni
Quando si imposta la Result proprietà su un oggetto , non utilizzare null per rappresentare un oggetto che non contiene dati. Il LinqDataSource controllo interpreta null per indicare che la Result proprietà non è impostata e creerà ed eseguirà una query sull'oggetto nella TableName proprietà . Per rappresentare un oggetto che non contiene dati, impostare la Result proprietà su un IList oggetto o IList<T> che non contiene elementi.
Gli ContextCreatingeventi , ContextCreatede ContextDisposing non vengono generati quando si imposta la Result proprietà a livello di codice su un oggetto e quando si applicano due condizioni aggiuntive. Le condizioni sono che i valori originali non devono essere archiviati nello stato di visualizzazione oppure l'oggetto nella Result proprietà implementa l'interfaccia ITable .