DataServiceContext.LoadProperty Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Ładuje odroczone treści z usługi danych.
Przeciążenia
LoadProperty(Object, String) |
Ładuje odroczonej zawartości dla określonej właściwości z usługi danych. |
LoadProperty(Object, String, DataServiceQueryContinuation) |
Ładuje następną stronę powiązanych jednostek z usługi danych przy użyciu dostarczonego obiektu kontynuacji zapytania. |
LoadProperty(Object, String, Uri) |
Ładuje stronę powiązanych jednostek przy użyciu podanego następnego identyfikatora URI linku. |
LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>) |
Ładuje następną stronę powiązanych jednostek z usługi danych przy użyciu dostarczonego ogólnego obiektu kontynuacji zapytania. |
LoadProperty(Object, String)
Ładuje odroczonej zawartości dla określonej właściwości z usługi danych.
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
Parametry
- entity
- Object
Jednostka zawierająca właściwość do załadowania.
- propertyName
- String
Nazwa właściwości określonej jednostki do załadowania.
Zwraca
Odpowiedź na operację ładowania.
Przykłady
W poniższym przykładzie pokazano, jak jawnie załadować Customers
obiekt powiązany z każdym zwróconym Orders
wystąpieniem. W tym przykładzie użyto DataServiceContext narzędzia Add Service Reference opartego na usłudze danych Northwind, która jest tworzona po zakończeniu Usługi danych programu WCF .
// 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
Uwagi
Wywołanie tej metody wywołuje operację sieciową w celu pobrania wartości właściwości. Określona właściwość może być dowolną właściwością jednostki, w tym właściwości reprezentujące skojarzenia lub łącza.
Jeśli właściwość reprezentuje skojarzenie, łącze lub właściwość odroczone, wywołanie tej metody zapewnia klientowi sposób leniwego ładowania powiązanych zasobów.
Jeśli jednostka jest w stanie niezmienionym lub zmodyfikowanym, wartość właściwości ładuje powiązane jednostki i oznacza je bez zmian bez zmian
Jeśli właściwość jest już załadowana, wywołanie tej metody umożliwia odświeżenie wartości właściwości.
Dotyczy
LoadProperty(Object, String, DataServiceQueryContinuation)
Ładuje następną stronę powiązanych jednostek z usługi danych przy użyciu dostarczonego obiektu kontynuacji zapytania.
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
Parametry
- entity
- Object
Jednostka zawierająca właściwość do załadowania.
- propertyName
- String
Nazwa właściwości określonej jednostki do załadowania.
- continuation
- DataServiceQueryContinuation
DataServiceQueryContinuation<T> Obiekt reprezentujący następną stronę powiązanych jednostek do załadowania z usługi danych.
Zwraca
Odpowiedź zawierająca następną stronę powiązanych danych jednostki.
Wyjątki
Uwagi
Gdy entity
jest w Unchanged stanie lub Modified , powiązane jednostki są ładowane jako obiekty w Unchanged stanie, a linki również są w Unchanged stanie.
Gdy entity
jest w Deleted stanie, powiązane jednostki są ładowane jako obiekty w Unchanged stanie z łączami w Deleted stanie.
Dotyczy
LoadProperty(Object, String, Uri)
Ładuje stronę powiązanych jednostek przy użyciu podanego następnego identyfikatora URI linku.
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
Parametry
- entity
- Object
Jednostka zawierająca właściwość do załadowania.
- propertyName
- String
Nazwa właściwości określonej jednostki do załadowania.
- nextLinkUri
- Uri
Identyfikator URI używany do ładowania następnej strony wyników.
Zwraca
Wystąpienie, QueryOperationResponse<T> które zawiera wyniki żądania.
Wyjątki
Przykłady
Ten przykład zwraca powiązane Orders
jednostki z każdą Customers
jednostką do…while
i używa pętli do ładowania Customers
stron jednostek i pętli zagnieżdżonej while
w celu załadowania stron powiązanych Orders
jednostek z usługi danych. Metoda LoadProperty służy do ładowania stron powiązanych Orders
jednostek.
// 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
Uwagi
Gdy entity
jest w Unchanged stanie lub Modified , powiązane jednostki są ładowane w Unchanged stanie, a łącza między jednostkami są również tworzone w Unchanged stanie.
Gdy entity
jest w Deleted stanie, powiązane jednostki są ładowane w Unchanged stanie, a linki między jednostkami są tworzone w Deleted stanie.
Zobacz też
- Instrukcje: ładowanie wyników stronicowanych (Usługi danych programu WCF)
- Ładowanie odroczonej zawartości (Usługi danych programu WCF)
Dotyczy
LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>)
Ładuje następną stronę powiązanych jednostek z usługi danych przy użyciu dostarczonego ogólnego obiektu kontynuacji zapytania.
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)
Parametry typu
- T
Typ kolekcji do załadowania.
Parametry
- entity
- Object
Jednostka zawierająca właściwość do załadowania.
- propertyName
- String
Nazwa właściwości określonej jednostki do załadowania.
- continuation
- DataServiceQueryContinuation<T>
DataServiceQueryContinuation<T> Obiekt reprezentujący następną stronę powiązanych jednostek do załadowania z usługi danych.
Zwraca
Odpowiedź zawierająca następną stronę powiązanych danych jednostki.
Wyjątki
Uwagi
Gdy entity
jest w Unchanged stanie lub Modified , powiązane jednostki są ładowane jako obiekty w Unchanged stanie, a linki również są w Unchanged stanie.
Gdy entity
jest w Deleted stanie, powiązane jednostki są ładowane jako obiekty w Unchanged stanie z łączami w Deleted stanie.