Condividi tramite


Metodi di supporto (EDM)

Ai tipi Entity Data Model (EDM) definiti in schemi non sono associati metodi come le classi utilizzate nella programmazione orientata a oggetti. I metodi di supporto sono operazioni definite dall'utente che aggiungono funzionalità a entità e associazioni compilate tramite EDM.

I metodi di supporto vengono implementati in classi parziali. Una classe parziale suddivide la definizione di una classe tra due o più file di origine. Ogni file di origine contiene una sezione della definizione di classe e tutte le sezioni vengono combinate in fase di compilazione dell'applicazione. Il metodo di supporto descritto in questo esempio aggiunge un metodo utilizzato dai tipi definiti in Implementazione delle associazioni (EDM). Per ulteriori informazioni, vedere Personalizzazione di oggetti (Entity Framework).

Metodi di classi parziali

I metodi di supporto che utilizzano entità e associazioni aggiungono funzionalità alle applicazioni compilate in base a EDM. Il metodo di supporto seguente calcola la quantità ExtendedPrice di ogni oggetto OrderLines associato a un oggetto Order, aggiunge l'IVA e calcola il valore TotalAmount dell'acquisto rappresentato da Order.

Il metodo viene implementato in una classe parziale definita in questo esempio. Il codice sorgente C# seguente viene compilato con il codice generato dallo schema Conceptual Schema Definition Language (CSDL) nel progetto EDM. Il risultato è costituito da un metodo nella classe Orders che può essere utilizzato in istanze del tipo dal codice dell'applicazione. Per un segmento di codice in cui viene utilizzato questo metodo, vedere Utilizzo di associazioni nel codice di un'applicazione (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;

        }
    }
}

Vedere anche

Attività

Procedura: personalizzare oggetti dati generati (Entity Framework)

Concetti

Implementazione di entità (EDM)
Implementazione delle associazioni (EDM)