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 viene definita 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 sottoposto a 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 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 qualsiasi valore diverso da null
, il LinqDataSource controllo non esegue query sull'oggetto TableName definito nella proprietà. Esegue invece una query sull'oggetto nella Result proprietà.
Nota
Quando si imposta la Result proprietà su un oggetto, non usare null
per rappresentare un oggetto che non contiene dati. Il LinqDataSource controllo interpreta null
per indicare che la Result proprietà non è impostata e creerà e 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 a livello di codice la Result proprietà 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 o l'oggetto nella Result proprietà implementa l'interfaccia ITable .