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ögerte Inhalte vom Datendienst.
Überlädt
LoadProperty(Object, String) |
Lädt verzögerte Inhalte für eine angegebene Eigenschaft vom Datendienst. |
LoadProperty(Object, String, DataServiceQueryContinuation) |
Lädt die nächste Seite der verknüpften Entitäten vom Datendienst mit dem angegebenen Abfragefortsetzungsobjekt. |
LoadProperty(Object, String, Uri) |
Lädt mit dem angegebenen nächsten Link-URI eine Seite von verknüpften Entitäten. |
LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>) |
Lädt die nächste Seite der verknüpften Entitäten vom Datendienst mit dem angegebenen generischen Abfragefortsetzungsobjekt. |
LoadProperty(Object, String)
Lädt verzögerte Inhalte für eine angegebene Eigenschaft vom 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 in der zu ladenden Entität.
Gibt zurück
Die Antwort auf den Ladevorgang.
Beispiele
Im folgenden Beispiel wird gezeigt, wie das Customers
-Objekt, das sich auf jede zurückgegebene Orders
-Instanz bezieht, explizit geladen wird. In diesem Beispiel wird das DataServiceContext vom Tool Dienstverweis hinzufügen basierend auf dem Northwind-Datendienst generiert, der erstellt wird, wenn Sie die WCF Data Services abschließen.
// 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 zum Abrufe des Eigenschaftswerts aktiviert. Die angegebene Eigenschaft ist möglicherweise eine der Eigenschaften einer Entität, einschließlich Eigenschaften, die Zuordnungen oder Links darstellen.
Wenn die Eigenschaft eine Zuordnung oder einen Link oder eine verzögerte Eigenschaft darstellt, erhät der Client durch den Aufruf dieser Methode eine Möglichkeit, verwandte Ressourcen langsamer zu laden.
Wenn die Entität im unveränderten oder geänderten Zustand ist, lädt der Eigenschaftswert die verknüpften Entitäten und markiert sie unverändert mit unveränderten Links
Wenn die Eigenschaft bereits geladen wird, 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 der verknüpften Entitäten vom Datendienst mit dem angegebenen Abfragefortsetzungsobjekt.
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 in der zu ladenden Entität.
- continuation
- DataServiceQueryContinuation
Ein DataServiceQueryContinuation<T>-Objekt, das für die nächste Seite der zugehörigen Entitäten steht, die vom Datendienst geladen werden.
Gibt zurück
Die Antwort, die die nächste Seite der zugehörigen Entitätsdaten enthält.
Ausnahmen
Hinweise
Wenn entity
den Status Unchanged oder Modified aufweist, werden die verknüpften Entitäten als Objekte mit dem Status Unchanged geladen, mit Links auch mit dem Status Unchanged.
Wenn entity
den Status Deleted aufweist, werden die zugehörigen Entitäten als Objekte mit dem Status Unchanged mit Links geladen, die den Status Deleted aufweisen.
Gilt für:
LoadProperty(Object, String, Uri)
Lädt mit dem angegebenen nächsten Link-URI eine Seite von verknüpften Entitäten.
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 in der zu ladenden Entität.
- nextLinkUri
- Uri
Der URI, der verwendet wird, um die nächste Ergebnisseite zu laden.
Gibt zurück
Eine Instanz von QueryOperationResponse<T>, die die Ergebnisse der Anforderung enthält.
Ausnahmen
Beispiele
In diesem Beispiel werden verknüpfte Orders
-Entitäten mit jeder Customers
-Entität zurückgegeben, und es wird eine do…while
-Schleife zum Laden von Customers
-Entitätenseiten und eine geschachtelte while
-Schleife zum Laden verknüpfter Orders
-Entitäten aus dem Datendienst verwendet. 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
den Status Unchanged oder Modified aufweist werden die zugehörigen Entitäten im Status Unchanged geladen, und die Links zwischen den Entities werden auch im Zustand Unchanged erstellt.
Ist entity
im Status Deleted werden die zugehörigen Entities mit dem Status Unchanged geladen, und die Links zwischen den Entities werden im Zustand Deleted erstellt.
Weitere Informationen
- Gewusst wie: Laden von ausgelagerten Ergebnissen (WCF Data Services)
- Laden von verzögerten Inhalten (WCF Data Services)
Gilt für:
LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>)
Lädt die nächste Seite der verknüpften Entitäten vom Datendienst mit dem angegebenen generischen Abfragefortsetzungsobjekt.
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 Auflistung zum Laden.
Parameter
- entity
- Object
Die Entität, die die zu ladende Eigenschaft enthält.
- propertyName
- String
Der Name der Eigenschaft in der zu ladenden Entität.
- continuation
- DataServiceQueryContinuation<T>
Ein DataServiceQueryContinuation<T>-Objekt, das für die nächste Seite der zugehörigen Entitäten steht, die vom Datendienst geladen werden.
Gibt zurück
Die Antwort, die die nächste Seite der zugehörigen Entitätsdaten enthält.
Ausnahmen
Hinweise
Wenn entity
den Status Unchanged oder Modified aufweist, werden die verknüpften Entitäten als Objekte mit dem Status Unchanged geladen, mit Links auch mit dem Status Unchanged.
Wenn entity
den Status Deleted aufweist, werden die zugehörigen Entitäten als Objekte mit dem Status Unchanged mit Links geladen, die den Status Deleted aufweisen.