DataServiceContext.LoadProperty Metodo
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.
Carica il contenuto posticipato dal servizio dati.
Overload
| Nome | Descrizione |
|---|---|
| LoadProperty(Object, String) |
Carica il contenuto posticipato per una proprietà specificata dal servizio dati. |
| LoadProperty(Object, String, DataServiceQueryContinuation) |
Carica la pagina successiva di entità correlate dal servizio dati usando l'oggetto di continuazione query fornito. |
| LoadProperty(Object, String, Uri) |
Carica una pagina di entità correlate usando l'URI di collegamento successivo fornito. |
| LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>) |
Carica la pagina successiva delle entità correlate dal servizio dati usando l'oggetto di continuazione query generico fornito. |
LoadProperty(Object, String)
Carica il contenuto posticipato per una proprietà specificata dal servizio dati.
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
Parametri
- entity
- Object
Entità che contiene la proprietà da caricare.
- propertyName
- String
Nome della proprietà dell'entità specificata da caricare.
Valori restituiti
Risposta all'operazione di caricamento.
Esempio
Nell'esempio seguente viene illustrato come caricare in modo esplicito l'oggetto Customers correlato a ogni istanza restituita Orders . Questo esempio usa l'oggetto DataServiceContext generato dallo strumento Add Service Reference basato sul servizio dati Northwind, creato al termine di WCF Data Services.
// 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
Commenti
La chiamata a questo metodo richiama un'operazione di rete per recuperare il valore della proprietà. La proprietà specificata può essere una delle proprietà dell'entità, incluse le proprietà che rappresentano associazioni o collegamenti.
Se la proprietà rappresenta un'associazione, un collegamento o una proprietà posticipata, la chiamata a questo metodo consente al client di caricare in modo differito le risorse correlate.
Se l'entità è nello stato non modificato o modificato, il valore della proprietà carica le entità correlate e le contrassegna senza modifiche con collegamenti invariati
Se la proprietà è già caricata, la chiamata a questo metodo consente di aggiornare il valore della proprietà .
Si applica a
LoadProperty(Object, String, DataServiceQueryContinuation)
Carica la pagina successiva di entità correlate dal servizio dati usando l'oggetto di continuazione query fornito.
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
Parametri
- entity
- Object
Entità che contiene la proprietà da caricare.
- propertyName
- String
Nome della proprietà dell'entità specificata da caricare.
- continuation
- DataServiceQueryContinuation
Oggetto DataServiceQueryContinuation<T> che rappresenta la pagina successiva delle entità correlate da caricare dal servizio dati.
Valori restituiti
Risposta contenente la pagina successiva di dati di entità correlati.
Eccezioni
Commenti
Quando entity si trova in uno Unchanged stato o Modified , le entità correlate vengono caricate come oggetti in uno Unchanged stato, con collegamenti anche nello Unchanged stato.
Quando entity si trova in uno Deleted stato, le entità correlate vengono caricate come oggetti in uno Unchanged stato, con collegamenti nello Deleted stato .
Si applica a
LoadProperty(Object, String, Uri)
Carica una pagina di entità correlate usando l'URI di collegamento successivo fornito.
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
Parametri
- entity
- Object
Entità che contiene la proprietà da caricare.
- propertyName
- String
Nome della proprietà dell'entità specificata da caricare.
- nextLinkUri
- Uri
URI utilizzato per caricare la pagina dei risultati successiva.
Valori restituiti
Istanza di QueryOperationResponse<T> che contiene i risultati della richiesta.
Eccezioni
Esempio
Questo esempio restituisce entità correlate Orders con ogni Customers entità e usa un do…while ciclo per caricare Customers pagine di entità e un ciclo annidato while per caricare pagine di entità correlate Orders dal servizio dati. Il LoadProperty metodo viene usato per caricare pagine di entità correlate Orders .
// 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
Commenti
Quando entity si trova in uno Unchanged stato o Modified , le entità correlate vengono caricate nello Unchanged stato e anche i collegamenti tra le entità vengono creati in uno Unchanged stato.
Quando entity si trova in uno Deleted stato, le entità correlate vengono caricate nello Unchanged stato e i collegamenti tra le entità vengono creati nello Deleted stato .
Vedi anche
- Procedura: Caricare risultati con paging (WCF Data Services)
- Caricamento di contenuto posticipato (WCF Data Services)
Si applica a
LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>)
Carica la pagina successiva delle entità correlate dal servizio dati usando l'oggetto di continuazione query generico fornito.
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)
Parametri di tipo
- T
Tipo di elemento della raccolta da caricare.
Parametri
- entity
- Object
Entità che contiene la proprietà da caricare.
- propertyName
- String
Nome della proprietà dell'entità specificata da caricare.
- continuation
- DataServiceQueryContinuation<T>
Oggetto DataServiceQueryContinuation<T> che rappresenta la pagina successiva delle entità correlate da caricare dal servizio dati.
Valori restituiti
Risposta contenente la pagina successiva di dati di entità correlati.
Eccezioni
Commenti
Quando entity si trova in uno Unchanged stato o Modified , le entità correlate vengono caricate come oggetti in uno Unchanged stato, con collegamenti anche nello Unchanged stato.
Quando entity si trova in uno Deleted stato, le entità correlate vengono caricate come oggetti in uno Unchanged stato, con collegamenti nello Deleted stato .