DataServiceContext.LoadProperty Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Lädt verzögerten Inhalt aus dem Datendienst.
Überlädt
| Name | Beschreibung |
|---|---|
| LoadProperty(Object, String) |
Lädt verzögerten Inhalt für eine angegebene Eigenschaft aus dem Datendienst. |
| LoadProperty(Object, String, DataServiceQueryContinuation) |
Lädt die nächste Seite verwandter Entitäten aus dem Datendienst mithilfe des bereitgestellten Abfragefortsetzungsobjekts. |
| LoadProperty(Object, String, Uri) |
Lädt eine Seite verwandter Entitäten mithilfe des bereitgestellten nächsten Link-URI. |
| LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>) |
Lädt die nächste Seite verwandter Entitäten aus dem Datendienst mithilfe des bereitgestellten generischen Abfragefortsetzungsobjekts. |
LoadProperty(Object, String)
Lädt verzögerten Inhalt für eine angegebene Eigenschaft aus dem Datendienst.
public:
System::Data::Services::Client::QueryOperationResponse ^ LoadProperty(System::Object ^ entity, System::String ^ propertyName);
public System.Data.Services.Client.QueryOperationResponse LoadProperty(object entity, string propertyName);
member this.LoadProperty : obj * string -> System.Data.Services.Client.QueryOperationResponse
Public Function LoadProperty (entity As Object, propertyName As String) As QueryOperationResponse
Parameter
- entity
- Object
Die Entität, die die zu ladende Eigenschaft enthält.
- propertyName
- String
Der Name der Eigenschaft der angegebenen Entität, die geladen werden soll.
Gibt zurück
Die Antwort auf den Ladevorgang.
Beispiele
Das folgende Beispiel zeigt, wie das Customers Objekt explizit geladen wird, das mit jeder zurückgegebenen Orders Instanz verknüpft ist. In diesem Beispiel wird das DataServiceContext vom Tool "Dienstreferenz hinzufügen" basierend auf dem Northwind-Datendienst generierte Tool verwendet, das beim Abschließen der WCF Data Services erstellt wird.
// Create the DataServiceContext using the service URI.
NorthwindEntities context = new NorthwindEntities(svcUri);
try
{
// Enumerate over the top 10 orders obtained from the context.
foreach (Order order in context.Orders.Take(10))
{
// Explicitly load the customer for each order.
context.LoadProperty(order, "Customer");
// Write out customer and order information.
Console.WriteLine("Customer: {0} - Order ID: {1}",
order.Customer.CompanyName, order.OrderID);
}
}
catch (DataServiceQueryException ex)
{
throw new ApplicationException(
"An error occurred during query execution.", ex);
}
' Create the DataServiceContext using the service URI.
Dim context = New NorthwindEntities(svcUri)
Try
' Enumerate over the top 10 orders obtained from the context.
For Each order As Order In context.Orders.Take(10)
' Explicitly load the customer for each order.
context.LoadProperty(order, "Customer")
' Write out customer and order information.
Console.WriteLine("Customer: {0} - Order ID: {1}",
order.Customer.CompanyName, order.OrderID)
Next
Catch ex As DataServiceQueryException
Throw New ApplicationException(
"An error occurred during query execution.", ex)
End Try
Hinweise
Durch Aufrufen dieser Methode wird ein Netzwerkvorgang aufgerufen, um den Eigenschaftswert abzurufen. Die angegebene Eigenschaft kann eine der Eigenschaften der Entität sein, einschließlich Eigenschaften, die Zuordnungen oder Verknüpfungen darstellen.
Wenn die Eigenschaft eine Zuordnung, einen Link oder eine verzögerte Eigenschaft darstellt, bietet das Aufrufen dieser Methode dem Client eine Möglichkeit, verwandte Ressourcen lazily zu laden.
Wenn sich die Entität im unveränderten oder geänderten Zustand befindet, lädt der Eigenschaftswert die zugehörigen Entitäten und kennzeichnet sie unverändert mit unveränderten Verknüpfungen.
Wenn die Eigenschaft bereits geladen ist, können Sie durch Aufrufen dieser Methode den Wert der Eigenschaft aktualisieren.
Gilt für:
LoadProperty(Object, String, DataServiceQueryContinuation)
Lädt die nächste Seite verwandter Entitäten aus dem Datendienst mithilfe des bereitgestellten Abfragefortsetzungsobjekts.
public:
System::Data::Services::Client::QueryOperationResponse ^ LoadProperty(System::Object ^ entity, System::String ^ propertyName, System::Data::Services::Client::DataServiceQueryContinuation ^ continuation);
public System.Data.Services.Client.QueryOperationResponse LoadProperty(object entity, string propertyName, System.Data.Services.Client.DataServiceQueryContinuation continuation);
member this.LoadProperty : obj * string * System.Data.Services.Client.DataServiceQueryContinuation -> System.Data.Services.Client.QueryOperationResponse
Public Function LoadProperty (entity As Object, propertyName As String, continuation As DataServiceQueryContinuation) As QueryOperationResponse
Parameter
- entity
- Object
Die Entität, die die zu ladende Eigenschaft enthält.
- propertyName
- String
Der Name der Eigenschaft der angegebenen Entität, die geladen werden soll.
- continuation
- DataServiceQueryContinuation
Ein DataServiceQueryContinuation<T> Objekt, das die nächste Seite verwandter Entitäten darstellt, die vom Datendienst geladen werden sollen.
Gibt zurück
Die Antwort, die die nächste Seite verwandter Entitätsdaten enthält.
Ausnahmen
Hinweise
Unchanged Wenn entity sich ein Oder-Zustand Modified befindet, werden die zugehörigen Entitäten als Objekte in einem Unchanged Zustand geladen, mit Verknüpfungen auch im Unchanged Zustand.
Wenn entity sich ein Zustand befindet Deleted , werden die zugehörigen Entitäten als Objekte in einem Unchanged Zustand geladen, mit Verknüpfungen, die sich im Deleted Zustand befinden.
Gilt für:
LoadProperty(Object, String, Uri)
Lädt eine Seite verwandter Entitäten mithilfe des bereitgestellten nächsten Link-URI.
public:
System::Data::Services::Client::QueryOperationResponse ^ LoadProperty(System::Object ^ entity, System::String ^ propertyName, Uri ^ nextLinkUri);
public System.Data.Services.Client.QueryOperationResponse LoadProperty(object entity, string propertyName, Uri nextLinkUri);
member this.LoadProperty : obj * string * Uri -> System.Data.Services.Client.QueryOperationResponse
Public Function LoadProperty (entity As Object, propertyName As String, nextLinkUri As Uri) As QueryOperationResponse
Parameter
- entity
- Object
Die Entität, die die zu ladende Eigenschaft enthält.
- propertyName
- String
Der Name der Eigenschaft der angegebenen Entität, die geladen werden soll.
- nextLinkUri
- Uri
Der URI, der zum Laden der nächsten Ergebnisseite verwendet wird.
Gibt zurück
Eine Instanz, die QueryOperationResponse<T> die Ergebnisse der Anforderung enthält.
Ausnahmen
Beispiele
In diesem Beispiel werden verwandte Orders Entitäten mit jeder Customers Entität zurückgegeben und eine do…while Schleife verwendet, um Entitätsseiten und eine geschachtelte while Schleife zu ladenCustomers, um Seiten verwandter Orders Entitäten aus dem Datendienst zu laden. Die LoadProperty Methode wird verwendet, um Seiten verwandter Orders Entitäten zu laden.
// Create the DataServiceContext using the service URI.
NorthwindEntities context = new NorthwindEntities(svcUri);
DataServiceQueryContinuation<Customer> nextLink = null;
int pageCount = 0;
int innerPageCount = 0;
try
{
// Execute the query for all customers and related orders,
// and get the response object.
var response =
context.Customers.AddQueryOption("$expand", "Orders")
.Execute() as QueryOperationResponse<Customer>;
// With a paged response from the service, use a do...while loop
// to enumerate the results before getting the next link.
do
{
// Write the page number.
Console.WriteLine("Customers Page {0}:", ++pageCount);
// If nextLink is not null, then there is a new page to load.
if (nextLink != null)
{
// Load the new page from the next link URI.
response = context.Execute<Customer>(nextLink)
as QueryOperationResponse<Customer>;
}
// Enumerate the customers in the response.
foreach (Customer c in response)
{
Console.WriteLine("\tCustomer Name: {0}", c.CompanyName);
Console.WriteLine("\tOrders Page {0}:", ++innerPageCount);
// Get the next link for the collection of related Orders.
DataServiceQueryContinuation<Order> nextOrdersLink =
response.GetContinuation(c.Orders);
while (nextOrdersLink != null)
{
foreach (Order o in c.Orders)
{
// Print out the orders.
Console.WriteLine("\t\tOrderID: {0} - Freight: ${1}",
o.OrderID, o.Freight);
}
// Load the next page of Orders.
var ordersResponse = context.LoadProperty(c, "Orders", nextOrdersLink);
nextOrdersLink = ordersResponse.GetContinuation();
}
}
}
// Get the next link, and continue while there is a next link.
while ((nextLink = response.GetContinuation()) != null);
}
catch (DataServiceQueryException ex)
{
throw new ApplicationException(
"An error occurred during query execution.", ex);
}
' Create the DataServiceContext using the service URI.
Dim context = New NorthwindEntities(svcUri)
Dim nextLink As DataServiceQueryContinuation(Of Customer) = Nothing
Dim pageCount = 0
Dim innerPageCount = 0
Try
' Execute the query for all customers and related orders,
' and get the response object.
Dim response =
CType(context.Customers.AddQueryOption("$expand", "Orders") _
.Execute(), QueryOperationResponse(Of Customer))
' With a paged response from the service, use a do...while loop
' to enumerate the results before getting the next link.
Do
' Write the page number.
Console.WriteLine("Customers Page {0}:", ++pageCount)
' If nextLink is not null, then there is a new page to load.
If nextLink IsNot Nothing Then
' Load the new page from the next link URI.
response = CType(context.Execute(Of Customer)(nextLink),
QueryOperationResponse(Of Customer))
End If
' Enumerate the customers in the response.
For Each c As Customer In response
Console.WriteLine(vbTab & "Customer Name: {0}", c.CompanyName)
Console.WriteLine(vbTab & "Orders Page {0}:", innerPageCount + 1)
' Get the next link for the collection of related Orders.
Dim nextOrdersLink As DataServiceQueryContinuation(Of Order) =
response.GetContinuation(c.Orders)
While nextOrdersLink IsNot Nothing
For Each o As Order In c.Orders
' Print out the orders.
Console.WriteLine(vbTab & vbTab & "OrderID: {0} - Freight: ${1}",
o.OrderID, o.Freight)
Next
' Load the next page of Orders.
Dim ordersResponse =
context.LoadProperty(c, "Orders", nextOrdersLink)
nextOrdersLink = ordersResponse.GetContinuation()
End While
Next
' Get the next link, and continue while there is a next link.
nextLink = response.GetContinuation()
Loop While nextLink IsNot Nothing
Catch ex As DataServiceQueryException
Throw New ApplicationException(
"An error occurred during query execution.", ex)
End Try
Hinweise
Wenn entity sich ein Unchanged Oder-Zustand Modified befindet, werden die zugehörigen Entitäten in den Unchanged Zustand geladen, und die Verknüpfungen zwischen den Entitäten werden auch in einem Unchanged Zustand erstellt.
Wenn entity sich ein Zustand befindet Deleted , werden die zugehörigen Entitäten in den Unchanged Zustand geladen, und die Verknüpfungen zwischen den Entitäten werden im Deleted Zustand erstellt.
Weitere Informationen
Gilt für:
LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>)
Lädt die nächste Seite verwandter Entitäten aus dem Datendienst mithilfe des bereitgestellten generischen Abfragefortsetzungsobjekts.
public:
generic <typename T>
System::Data::Services::Client::QueryOperationResponse<T> ^ LoadProperty(System::Object ^ entity, System::String ^ propertyName, System::Data::Services::Client::DataServiceQueryContinuation<T> ^ continuation);
public System.Data.Services.Client.QueryOperationResponse<T> LoadProperty<T>(object entity, string propertyName, System.Data.Services.Client.DataServiceQueryContinuation<T> continuation);
member this.LoadProperty : obj * string * System.Data.Services.Client.DataServiceQueryContinuation<'T> -> System.Data.Services.Client.QueryOperationResponse<'T>
Public Function LoadProperty(Of T) (entity As Object, propertyName As String, continuation As DataServiceQueryContinuation(Of T)) As QueryOperationResponse(Of T)
Typparameter
- T
Elementtyp der zu ladenden Auflistung.
Parameter
- entity
- Object
Die Entität, die die zu ladende Eigenschaft enthält.
- propertyName
- String
Der Name der Eigenschaft der angegebenen Entität, die geladen werden soll.
- continuation
- DataServiceQueryContinuation<T>
Ein DataServiceQueryContinuation<T> Objekt, das die nächste Seite verwandter Entitäten darstellt, die vom Datendienst geladen werden sollen.
Gibt zurück
Die Antwort, die die nächste Seite verwandter Entitätsdaten enthält.
Ausnahmen
Hinweise
Unchanged Wenn entity sich ein Oder-Zustand Modified befindet, werden die zugehörigen Entitäten als Objekte in einem Unchanged Zustand geladen, mit Verknüpfungen auch im Unchanged Zustand.
Wenn entity sich ein Zustand befindet Deleted , werden die zugehörigen Entitäten als Objekte in einem Unchanged Zustand geladen, mit Verknüpfungen, die sich im Deleted Zustand befinden.