[MVC5_002]定義MetaData Class以顯示在畫面上的中文表頭名稱

[002]定義MetaData Class以顯示在畫面上的中文表頭名稱

當要實做查詢功能的畫面要查詢自行車路徑資料表CyclingRoutes的時候,當然要設定每筆資料的中文標頭,舉例來說查詢畫面可能像是這樣子:標頭各自為(自行車路徑)、(距離)、(騎乘時間)

自行車路徑 距離 騎乘時間
觀音山 - 凌雲路上 6.9km 30

其中,自行車路徑就代表資料表的RoutedName欄位;距離則是Distance欄位;騎乘時間則是RidingTime欄位。
在以往舊的Webform作法,是在查詢的畫面,直接key入中文名稱,但是現在可以直接自訂中文名稱在MetaData類別中,只要定義好一次,不論以後有多少支查詢這個資料表的功能,都可以不用再重複自己key一次中文名稱,是不是很方便呢?
參考此文章[.NET][EF]設定MetaData Class來保留edmx的屬性之後,定義出來的結果如下:
 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace CyclingRoutesMeetup.Models
{
    //這是metadata class   
    using System.ComponentModel.DataAnnotations;

    [MetadataType(typeof(CyclingRoutesMetadata))]
    public partial class CyclingRoutes
    {
        private class CyclingRoutesMetadata
        {
            [Display(Name = "路徑名稱")]
            public virtual string RouteName { get; set; }

            [Display(Name = "距離")]
            public virtual double Distance { get; set; }

            [Display(Name = "騎乘時間")]
            public virtual int RidingTime { get; set; }

            [Display(Name = "山頂海拔")]
            public virtual int Altitude { get; set; }

            [Display(Name = "GooleMap嵌入碼")]
            public virtual string GMapCode { get; set; }

            [Display(Name = "BikeMap地形圖")]
            public virtual string BikeMapUrl { get; set; }

            [Display(Name = "簡介")]
            public virtual string Introduction { get; set; }

      

        }
    }
}

這篇大概是這樣囉。