Helper 方法 (EDM)

結構描述中所定義的 Entity Data Model (EDM) 型別並不像物件導向程式設計中使用的類別一樣具有關聯的方法。Helper 方法是使用者定義的作業,該作業可在使用 EDM 建置的實體和關聯中加入功能。

Helper 方法會在部分類別中實作。部分類別會將類別的定義分割成兩個或多個原始程式檔,每一個原始程式檔都包含類別定義的一個區段,而當編譯應用程式時,就會將所有區段結合起來。此範例中所述的 Helper 方法會加入實作關聯 (EDM) 中定義之型別所使用的方法。如需詳細資訊,請參閱自訂物件 (Entity Framework)

部分類別方法

使用實體和關聯的 Helper 方法會在 EDM 上建置的應用程式中加入功能。下列 Helper 方法會計算與 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;

        }
    }
}

另請參閱

工作

HOW TO:自訂產生的資料物件 (Entity Framework)

概念

實作實體 (EDM)
實作關聯 (EDM)