Hilfsmethoden (EDM)

In Schemas definierte Entity Data Model (EDM)-Typen verfügen nicht über zugeordnete Methoden, wie die in der objektorientierten Programmierung verwendeten Klassen. Hilfsmethoden sind benutzerdefinierte Operationen mit zusätzlichen Funktionen für mit dem EDM erstellten Entitäten und Zuordnungen.

Hilfsmethoden werden in partiellen Klassen implementiert. Mit einer partiellen Klasse wird die Definition einer Klasse in zwei oder mehrere Quelldateien aufgeteilt. Jede Quelldatei enthält einen Abschnitt der Klassendefinition. Die Abschnitte werden bei der Kompilierung der Anwendung miteinander kombiniert. Die in diesem Beispiel beschriebene Hilfsmethode fügt eine Methode hinzu, die von in Implementieren von Zuordnungen (EDM) definierten Typen verwendet wird. Weitere Informationen finden Sie unter Anpassen von Objekten (Entity Framework).

Partielle Klassenmethoden

Hilfsmethoden, die Entitäten und Zuordnungen verwenden, fügen auf Grundlage des EDM erstellten Anwendungen Funktionen hinzu. Mit der folgenden Hilfsmethode wird zunächst der ExtendedPrice-Betrag aller OrderLines berechnet, die einer Order zugeordnet wurden, dann Steuern hinzuaddiert und schließlich der TotalAmount der durch Order dargestellten Bestellung ermittelt.

Die Methode wird in einer in diesem Beispiel definierten partiellen Klasse implementiert. Der folgende C#-Quellcode wird zusammen mit dem Code kompiliert, der aus dem CSDL-Schema des EDM-Projekts generiert wurde. Das Ergebnis ist eine Methode der Orders-Klasse, die vom Anwendungscode für Instanzen dieses Typs verwendet werden kann. Einen Codeabschnitt, der diese Methode verwendet, finden Sie unter Anwendungscode mit Zuordnungen (EDM).

using System;
using System.Data;

namespace OrderInfoModel
{
    public partial class Orders :
                      global::System.Data.Objects.DataClasses.EntityObject
    {
        public decimal ComputeOrder()
        {
            this.TotalAmount = 0;
            foreach (OrderLines orderLine in this.OrderLines)
            {
                orderLine.ExtendedPrice = orderLine.Quantity *
                                           orderLine.UnitPrice;
                this.TotalAmount = this.TotalAmount +
                                       orderLine.ExtendedPrice;
            }
           
            this.Tax = Decimal.Round(((decimal)this.TotalAmount *
                                            (decimal) .08), 2);
            this.TotalAmount = this.TotalAmount + this.Tax;

            return (decimal)this.TotalAmount;

        }
    }
}

Siehe auch

Aufgaben

Gewusst wie: Anpassen von generierten Datenobjekten (Entity Framework)

Konzepte

Implementieren von Entitäten (EDM)
Implementieren von Zuordnungen (EDM)