DataServiceContext.LoadProperty Methode

Definitie

Laadt uitgestelde inhoud van de gegevensservice.

Overloads

Name Description
LoadProperty(Object, String)

Laadt uitgestelde inhoud voor een opgegeven eigenschap van de gegevensservice.

LoadProperty(Object, String, DataServiceQueryContinuation)

Laadt de volgende pagina met gerelateerde entiteiten uit de gegevensservice met behulp van het opgegeven queryvervolgobject.

LoadProperty(Object, String, Uri)

Laadt een pagina met gerelateerde entiteiten met behulp van de opgegeven volgende koppelings-URI.

LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>)

Laadt de volgende pagina met gerelateerde entiteiten uit de gegevensservice met behulp van het opgegeven algemene queryvervolgobject.

LoadProperty(Object, String)

Laadt uitgestelde inhoud voor een opgegeven eigenschap van de gegevensservice.

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

Parameters

entity
Object

De entiteit die de eigenschap bevat die moet worden geladen.

propertyName
String

De naam van de eigenschap van de opgegeven entiteit die moet worden geladen.

Retouren

Het antwoord op de laadbewerking.

Voorbeelden

In het volgende voorbeeld ziet u hoe u het Customers object dat is gerelateerd aan elk geretourneerd exemplaar Orders expliciet laadt. In dit voorbeeld wordt gebruikgemaakt van het DataServiceContext hulpprogramma Servicereferentie toevoegen op basis van de Northwind-gegevensservice, die wordt gemaakt wanneer u de WCF-gegevensservices voltooit.

// 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

Opmerkingen

Als u deze methode aanroept, wordt een netwerkbewerking aangeroepen om de eigenschapswaarde op te halen. De opgegeven eigenschap kan een van de eigenschappen van de entiteit zijn, inclusief eigenschappen die koppelingen of koppelingen vertegenwoordigen.

Als de eigenschap een koppeling, koppeling of uitgestelde eigenschap vertegenwoordigt, biedt het aanroepen van deze methode de client een manier om gerelateerde resources te lazily laden.

Als de entiteit de status Ongewijzigd of Gewijzigd heeft, worden de gerelateerde entiteiten geladen door de eigenschapswaarde en worden deze ongewijzigd gemarkeerd met ongewijzigde koppelingen

Als de eigenschap al is geladen, kunt u met deze methode de waarde van de eigenschap vernieuwen.

Van toepassing op

LoadProperty(Object, String, DataServiceQueryContinuation)

Laadt de volgende pagina met gerelateerde entiteiten uit de gegevensservice met behulp van het opgegeven queryvervolgobject.

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

Parameters

entity
Object

De entiteit die de eigenschap bevat die moet worden geladen.

propertyName
String

De naam van de eigenschap van de opgegeven entiteit die moet worden geladen.

continuation
DataServiceQueryContinuation

Een DataServiceQueryContinuation<T> object dat de volgende pagina met gerelateerde entiteiten vertegenwoordigt die moeten worden geladen vanuit de gegevensservice.

Retouren

Het antwoord dat de volgende pagina met gerelateerde entiteitsgegevens bevat.

Uitzonderingen

Wanneer entity zich in de Detached of Added staat bevindt.

Opmerkingen

Wanneer entity deze zich in een Unchanged of Modified een status bevindt, worden de gerelateerde entiteiten geladen als objecten in een Unchanged status, met ook koppelingen in Unchanged de status.

Wanneer entity zich in een Deleted status bevindt, worden de gerelateerde entiteiten geladen als objecten in een Unchanged status, met koppelingen die zich in de Deleted status bevinden.

Van toepassing op

LoadProperty(Object, String, Uri)

Laadt een pagina met gerelateerde entiteiten met behulp van de opgegeven volgende koppelings-URI.

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

Parameters

entity
Object

De entiteit die de eigenschap bevat die moet worden geladen.

propertyName
String

De naam van de eigenschap van de opgegeven entiteit die moet worden geladen.

nextLinkUri
Uri

De URI die wordt gebruikt om de volgende pagina met resultaten te laden.

Retouren

Een exemplaar hiervan QueryOperationResponse<T> bevat de resultaten van de aanvraag.

Uitzonderingen

Wanneer entity zich in een Detached of Added staat bevindt.

Voorbeelden

In dit voorbeeld worden gerelateerde Orders entiteiten met elke Customers entiteit geretourneerd en wordt een do…while lus gebruikt om Customers pagina's met entiteiten en een geneste while lus te laden om pagina's met gerelateerde Orders entiteiten uit de gegevensservice te laden. De LoadProperty methode wordt gebruikt om pagina's met gerelateerde Orders entiteiten te 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

Opmerkingen

Wanneer entity zich in een Unchanged of Modified een status bevindt, worden de gerelateerde entiteiten geladen in de Unchanged status en worden de koppelingen tussen de entiteiten ook in een Unchanged status gemaakt.

Wanneer entity zich in een Deleted status bevindt, worden de gerelateerde entiteiten geladen in de Unchanged status en worden de koppelingen tussen de entiteiten gemaakt in de Deleted status.

Zie ook

Van toepassing op

LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>)

Laadt de volgende pagina met gerelateerde entiteiten uit de gegevensservice met behulp van het opgegeven algemene queryvervolgobject.

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)

Type parameters

T

Elementtype verzameling dat moet worden geladen.

Parameters

entity
Object

De entiteit die de eigenschap bevat die moet worden geladen.

propertyName
String

De naam van de eigenschap van de opgegeven entiteit die moet worden geladen.

continuation
DataServiceQueryContinuation<T>

Een DataServiceQueryContinuation<T> object dat de volgende pagina met gerelateerde entiteiten vertegenwoordigt die moeten worden geladen vanuit de gegevensservice.

Retouren

Het antwoord dat de volgende pagina met gerelateerde entiteitsgegevens bevat.

Uitzonderingen

Wanneer entity zich in de Detached of Added staat bevindt.

Opmerkingen

Wanneer entity deze zich in een Unchanged of Modified een status bevindt, worden de gerelateerde entiteiten geladen als objecten in een Unchanged status, met ook koppelingen in Unchanged de status.

Wanneer entity zich in een Deleted status bevindt, worden de gerelateerde entiteiten geladen als objecten in een Unchanged status, met koppelingen die zich in de Deleted status bevinden.

Van toepassing op