帮助器方法 (EDM)

在架构中定义的实体数据模型 (EDM) 类型不具备与面向对象的编程中使用的类相似的关联方法。帮助器方法是用户定义的操作,这些操作将功能添加到使用 EDM 生成的实体和关联。

帮助器方法在分部类中实现。分部类将类的定义拆分到两个或更多个源文件中。每个源文件包含类定义的一部分,当编译应用程序时,将组合所有部分。在此示例中介绍的帮助器方法添加一个由在实现关联 (EDM) 中定义的类型使用的方法。有关更多信息,请参见自定义对象(实体框架)

分部类方法

使用实体和关联的帮助器方法将功能添加到基于 EDM 生成的应用程序中。以下帮助器方法计算与某个 Order 关联的每个 OrderLinesExtendedPrice 金额,添加税额,并计算由 Order 表示的采购的 TotalAmount

此方法在本示例中定义的分部类中实现。以下 C# 源代码与从 EDM 项目中的概念架构定义语言 (CSDL) 架构中生成的代码一起编译。结果是 Orders 类中的一个方法,应用程序代码可以将该方法用于此类型的实例中。有关使用此方法的代码段,请参见使用关联的应用程序代码 (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;

        }
    }
}

另请参见

任务

如何:自定义生成的数据对象(实体框架)

概念

实现实体 (EDM)
实现关联 (EDM)