Compartir a través de


Métodos auxiliares (EDM)

Los tipos de Entity Data Model (EDM) que se definen en esquemas no tienen métodos asociados como las clases que se usan en la programación orientada a objetos. Los métodos auxiliares son operaciones definidas por el usuario que agregan funcionalidad a las entidades y asociaciones generadas mediante el EDM.

Los métodos auxiliares se implementan en clases parciales. Una clase parcial divide la definición de una clase en dos o más archivos de código fuente. Cada archivo de código fuente contiene una sección de la definición de la clase, y todas las secciones se combinan cuando se compila la aplicación. El método auxiliar que se describe en este ejemplo agrega un método que usan los tipos definidos en Implementar asociaciones (EDM). Para obtener más información, vea Personalizar objetos (Entity Framework).

Métodos de una clase parcial

Los métodos auxiliares que usan entidades y asociaciones agregan funcionalidad a las aplicaciones que se crean en el EDM. El siguiente método auxiliar calcula el importe de ExtendedPrice de cada una de las OrderLines asociada a un Order, suma los impuestos y calcula el TotalAmount de la compra representado por el Order.

El método se implementa en una clase parcial que se define en este ejemplo. El siguiente código fuente de C# se compila junto con el código que se genera a partir del esquema del lenguaje de definición de esquemas conceptuales (CSDL) en el proyecto del EDM. El resultado es un método en la clase Orders que se puede usar en las instancias del tipo con el código de la aplicación. Para obtener un segmento de código en el que se usa este método, vea Código de una aplicación que usa asociaciones (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;

        }
    }
}

Vea también

Tareas

Cómo personalizar los objetos de datos generados (Entity Framework)

Conceptos

Implementar entidades (EDM)
Implementar asociaciones (EDM)