DataServiceContext.LoadProperty Metod
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.
Läser in uppskjutet innehåll från datatjänsten.
Överlagringar
| Name | Description |
|---|---|
| LoadProperty(Object, String) |
Läser in uppskjutet innehåll för en angiven egenskap från datatjänsten. |
| LoadProperty(Object, String, DataServiceQueryContinuation) |
Läser in nästa sida med relaterade entiteter från datatjänsten med hjälp av det angivna frågefortsättningsobjektet. |
| LoadProperty(Object, String, Uri) |
Läser in en sida med relaterade entiteter med hjälp av den angivna URI:n för nästa länk. |
| LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>) |
Läser in nästa sida med relaterade entiteter från datatjänsten med hjälp av det angivna allmänna frågefortsättningsobjektet. |
LoadProperty(Object, String)
Läser in uppskjutet innehåll för en angiven egenskap från datatjänsten.
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
Parametrar
- entity
- Object
Entiteten som innehåller egenskapen som ska läsas in.
- propertyName
- String
Namnet på egenskapen för den angivna entitet som ska läsas in.
Returer
Svaret på inläsningsåtgärden.
Exempel
I följande exempel visas hur du uttryckligen läser in objektet Customers som är relaterat till varje returnerad Orders instans. I det här exemplet används det DataServiceContext som genereras av verktyget Lägg till tjänstreferens baserat på Northwind-datatjänsten, som skapas när du slutför 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
Kommentarer
Om du anropar den här metoden anropas en nätverksåtgärd för att hämta egenskapsvärdet. Den angivna egenskapen kan vara någon av egenskaperna i entiteten, inklusive egenskaper som representerar associationer eller länkar.
Om egenskapen representerar en association, länk eller uppskjuten egenskap ger anrop av den här metoden klienten ett sätt att läsa in relaterade resurser på ett lättsinnigt sätt.
Om entiteten är i oförändrat eller ändrat tillstånd läser egenskapsvärdet in de relaterade entiteterna och markerar dem oförändrade med oförändrade länkar
Om egenskapen redan har lästs in kan du med den här metoden uppdatera värdet för egenskapen.
Gäller för
LoadProperty(Object, String, DataServiceQueryContinuation)
Läser in nästa sida med relaterade entiteter från datatjänsten med hjälp av det angivna frågefortsättningsobjektet.
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
Parametrar
- entity
- Object
Entiteten som innehåller egenskapen som ska läsas in.
- propertyName
- String
Namnet på egenskapen för den angivna entitet som ska läsas in.
- continuation
- DataServiceQueryContinuation
Ett DataServiceQueryContinuation<T> objekt som representerar nästa sida med relaterade entiteter som ska läsas in från datatjänsten.
Returer
Svaret som innehåller nästa sida med relaterade entitetsdata.
Undantag
Kommentarer
När entity är i ett Unchanged tillstånd Modified läses de relaterade entiteterna in som objekt i ett Unchanged tillstånd, med länkar även i Unchanged tillstånd.
När entity är i ett Deleted tillstånd läses de relaterade entiteterna in som objekt i ett Unchanged tillstånd, med länkar som är i tillståndet Deleted .
Gäller för
LoadProperty(Object, String, Uri)
Läser in en sida med relaterade entiteter med hjälp av den angivna URI:n för nästa länk.
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
Parametrar
- entity
- Object
Entiteten som innehåller egenskapen som ska läsas in.
- propertyName
- String
Namnet på egenskapen för den angivna entitet som ska läsas in.
- nextLinkUri
- Uri
Den URI som används för att läsa in nästa resultatsida.
Returer
En instans av QueryOperationResponse<T> som innehåller resultatet av begäran.
Undantag
Exempel
Det här exemplet returnerar relaterade Orders entiteter med varje Customers entitet och använder en do…while loop för att läsa in Customers entitetssidor och en kapslad while loop för att läsa in sidor med relaterade Orders entiteter från datatjänsten. Metoden LoadProperty används för att läsa in sidor med relaterade Orders entiteter.
// 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
Kommentarer
När entity är i ett Unchanged tillstånd Modified läses de relaterade entiteterna in i Unchanged tillståndet och länkarna mellan entiteterna skapas också i ett Unchanged tillstånd.
När entity är i ett Deleted tillstånd läses de relaterade entiteterna in i Unchanged tillståndet och länkarna mellan entiteterna skapas i tillståndet Deleted .
Se även
- Anvisningar: Läsa in sidsidiga resultat (WCF Data Services)
- Läser in uppskjutet innehåll (WCF Data Services)
Gäller för
LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>)
Läser in nästa sida med relaterade entiteter från datatjänsten med hjälp av det angivna allmänna frågefortsättningsobjektet.
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)
Typparametrar
- T
Elementtyp för samling som ska läsas in.
Parametrar
- entity
- Object
Entiteten som innehåller egenskapen som ska läsas in.
- propertyName
- String
Namnet på egenskapen för den angivna entitet som ska läsas in.
- continuation
- DataServiceQueryContinuation<T>
Ett DataServiceQueryContinuation<T> objekt som representerar nästa sida med relaterade entiteter som ska läsas in från datatjänsten.
Returer
Svaret som innehåller nästa sida med relaterade entitetsdata.
Undantag
Kommentarer
När entity är i ett Unchanged tillstånd Modified läses de relaterade entiteterna in som objekt i ett Unchanged tillstånd, med länkar även i Unchanged tillstånd.
När entity är i ett Deleted tillstånd läses de relaterade entiteterna in som objekt i ett Unchanged tillstånd, med länkar som är i tillståndet Deleted .