DataServiceContext.LoadProperty Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Charge le contenu différé du service de données.
Surcharges
LoadProperty(Object, String) |
Charge le contenu différé pour une propriété spécifiée du service de données. |
LoadProperty(Object, String, DataServiceQueryContinuation) |
Charge la page d'entités associées suivante du service de données en utilisant l'objet de continuation de requête fourni. |
LoadProperty(Object, String, Uri) |
Charge une page d'entités associées à l'aide de l'URI de lien suivant fourni. |
LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>) |
Charge la page d'entités associées suivante du service de données en utilisant l'objet de continuation de requête générique fourni. |
LoadProperty(Object, String)
Charge le contenu différé pour une propriété spécifiée du service de données.
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
Paramètres
- entity
- Object
Entité qui contient la propriété à charger.
- propertyName
- String
Nom de la propriété de l'entité spécifiée à charger.
Retours
Réponse à l'opération de chargement.
Exemples
L'exemple suivant montre comment charger explicitement l'objet Customers
associé à chaque instance Orders
retournée. Cet exemple utilise le DataServiceContext généré par l’outil Ajouter une référence de service basé sur le service de données Northwind, qui est créé lorsque vous terminez la 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
Remarques
L'appel de cette méthode appelle une opération de réseau pour récupérer la valeur de la propriété. La propriété spécifiée peut être n'importe laquelle des propriétés sur l'entité, notamment les propriétés qui représentent des associations ou des liens.
Si la propriété représente une association, un lien ou une propriété différée, l'appel de cette méthode fournit au client le moyen de charger en différé les ressources associées.
Si l'entité est à l'état inchangé ou modifié, la valeur de propriété charge les entités associées et les marque comme inchangées avec des liens inchangés.
Si la propriété est déjà chargée, l'appel de cette méthode vous permet d'actualiser la valeur de la propriété.
S’applique à
LoadProperty(Object, String, DataServiceQueryContinuation)
Charge la page d'entités associées suivante du service de données en utilisant l'objet de continuation de requête fourni.
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
Paramètres
- entity
- Object
Entité qui contient la propriété à charger.
- propertyName
- String
Nom de la propriété de l'entité spécifiée à charger.
- continuation
- DataServiceQueryContinuation
Objet DataServiceQueryContinuation<T> qui représente la page d'entités associées suivante à charger du service de données.
Retours
Réponse qui contient la page suivante de données d'entité connexe.
Exceptions
Remarques
Lorsque entity
est à l'état Unchanged ou Modified, les entités associées sont chargées en tant qu'objets à l'état Unchanged, avec des liens également à l'état Unchanged.
Lorsque entity
est à l'état Deleted, les entités associées sont chargées en tant qu'objets à l'état Unchanged, avec des liens qui sont à l'état Deleted.
S’applique à
LoadProperty(Object, String, Uri)
Charge une page d'entités associées à l'aide de l'URI de lien suivant fourni.
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
Paramètres
- entity
- Object
Entité qui contient la propriété à charger.
- propertyName
- String
Nom de la propriété de l'entité spécifiée à charger.
- nextLinkUri
- Uri
URI utilisé pour charger la page de résultats suivante.
Retours
Instance de QueryOperationResponse<T> qui contient les résultats de la requête.
Exceptions
Exemples
Cet exemple retourne des entités Orders
connexes avec chaque entité Customers
et utilise une boucle do…while
pour charger des pages d'entités Customers
et une boucle while
imbriquée pour charger des pages d'entités Orders
connexes à partir du service de données. La méthode LoadProperty est utilisée pour charger des pages d'entités Orders
associées.
// 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
Remarques
Lorsque entity
est à l'état Unchanged ou Modified, les entités associées sont chargées à l'état Unchanged, et les liens entre les entités sont également créés à l'état Unchanged.
Lorsque entity
est à l'état Deleted, les entités associées sont chargées à l'état Unchanged, et les liens entre les entités sont créés à l'état Deleted.
Voir aussi
- Comment : charger les résultats paginés (services de données WCF)
- Chargement de contenu différé (services de données WCF)
S’applique à
LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>)
Charge la page d'entités associées suivante du service de données en utilisant l'objet de continuation de requête générique fourni.
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)
Paramètres de type
- T
Type d'élément de collection à charger.
Paramètres
- entity
- Object
Entité qui contient la propriété à charger.
- propertyName
- String
Nom de la propriété de l'entité spécifiée à charger.
- continuation
- DataServiceQueryContinuation<T>
Objet DataServiceQueryContinuation<T> qui représente la page d'entités associées suivante à charger du service de données.
Retours
Réponse qui contient la page suivante de données d'entité connexe.
Exceptions
Remarques
Lorsque entity
est à l'état Unchanged ou Modified, les entités associées sont chargées en tant qu'objets à l'état Unchanged, avec des liens également à l'état Unchanged.
Lorsque entity
est à l'état Deleted, les entités associées sont chargées en tant qu'objets à l'état Unchanged, avec des liens qui sont à l'état Deleted.