Helper 方法 (EDM)
結構描述中所定義的 Entity Data Model (EDM) 型別並不像物件導向程式設計中使用的類別一樣具有關聯的方法。Helper 方法是使用者定義的作業,該作業可在使用 EDM 建置的實體和關聯中加入功能。
Helper 方法會在部分類別中實作。部分類別會將類別的定義分割成兩個或多個原始程式檔,每一個原始程式檔都包含類別定義的一個區段,而當編譯應用程式時,就會將所有區段結合起來。此範例中所述的 Helper 方法會加入實作關聯 (EDM) 中定義之型別所使用的方法。如需詳細資訊,請參閱自訂物件 (Entity Framework)。
部分類別方法
使用實體和關聯的 Helper 方法會在 EDM 上建置的應用程式中加入功能。下列 Helper 方法會計算與 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;
}
}
}
另請參閱
工作
HOW TO:自訂產生的資料物件 (Entity Framework)