LinqDataSourceSelectEventArgs.Result Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger dataobjektet som används i datafrågan.
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
Egenskapsvärde
Ett objekt som representerar data för frågan.
Exempel
I följande exempel visas hur du anger Result egenskapen till resultatet av en LINQ-fråga.
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
I följande exempel visas hur du anger Result egenskapen till en matris med strängvärden som definieras på webbsidan.
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
Kommentarer
Som standard LinqDataSource tillämpar kontrollen sina frågeuttryck på det objekt som definierats i egenskapen TableName . I en hanterare för Selecting händelsen kan du manuellt ändra vilket objekt som efterfrågas genom att ange Result egenskapen till ett objekt. Du kan till exempel använda Result egenskapen för att köra frågor mot en minnesintern samling på webbsidan eller för att hämta resultatet från ett LINQ-frågeuttryck. Du kan ange egenskapen Result till valfritt objekt. Om objektet inte implementerar IEnumerable<T> gränssnittet LinqDataSource omsluter kontrollen objektet i ett objekt som implementerar IEnumerable<T> gränssnittet.
När egenskapen Result är inställd på något annat värde än null, LinqDataSource frågar kontrollen inte objektet som definierats i TableName egenskapen. I stället frågar den objektet i egenskapen Result .
Note
När du anger Result egenskapen till ett objekt ska du inte använda null för att representera ett objekt som inte innehåller några data. Kontrollen LinqDataSource tolkas som att null egenskapen inte har angettsResult, och den skapar och frågar objektet i TableName egenskapen. Om du vill representera ett objekt som inte innehåller data anger du Result egenskapen till ett objekt eller IList ett IList<T> objekt som inte innehåller några element.
Händelserna ContextCreating, ContextCreatedoch ContextDisposing utlöses inte när du programmatiskt anger Result egenskapen till ett objekt och när två ytterligare villkor gäller. Villkoren är att antingen de ursprungliga värdena inte behöver lagras i visningstillstånd, eller så implementerar Result objektet i ITable egenskapen gränssnittet.