帮助器方法 (EDM)
在架构中定义的实体数据模型 (EDM) 类型不具备与面向对象的编程中使用的类相似的关联方法。帮助器方法是用户定义的操作,这些操作将功能添加到使用 EDM 生成的实体和关联。
帮助器方法在分部类中实现。分部类将类的定义拆分到两个或更多个源文件中。每个源文件包含类定义的一部分,当编译应用程序时,将组合所有部分。在此示例中介绍的帮助器方法添加一个由在实现关联 (EDM) 中定义的类型使用的方法。有关更多信息,请参见自定义对象(实体框架)。
分部类方法
使用实体和关联的帮助器方法将功能添加到基于 EDM 生成的应用程序中。以下帮助器方法计算与某个 Order
关联的每个 OrderLines
的 ExtendedPrice
金额,添加税额,并计算由 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;
}
}
}