2014年11月24日 星期一

Coding First Data Annotations (Model屬性的相關標註說明)

假設有一個Model的類別
    public class User {
        public int Id { get; set; }
        public string PersonalId { get; set; }
        public string Name { get; set; }
    }

[Key]:索引鍵
        [Key]
        public int Id { get; set; }

[Key,Column(Oerder=n)]複合索引鍵:
        [Key]
        [Column(Order=1)]
        public string PersonalId { get; set; }
        [Key]
        [Column(Order=2)]
        public string Name {get;set;}

[Required]:必要欄位不可為空

        [Required]
        public int Id { get; set; }

[MaxLength(n),ErrorMessage=”your message“,MinLength(n)]:最大和最小值和自訂錯誤訊息
        [MaxLength(2),ErrorMessage=”姓名欄位請輸入2~5個字“,MinLength(5)]
        public string Name { get; set; }   

[NotMapped]:不須建立資料庫的欄位
        [NotMapped]
        string sex = PersonalId.Substring(1, 1)=="1"?"男":"女"; 

[Table][Column]:自訂資料庫表格和欄位名稱
        [Table("MyUser")]
        public class UserModel{
            [Column("Myid",TypeName="ntext")]
            string PersonalId{get;set;}
       }

[Index]:欄位建立搜尋索引EF6.1以後版本才有此功能,預設的索引名稱是IX_
        [Index("MyIndexName")]
        public string Name {get;set;}
       }



需要參考以下兩個組件:
using System.ComponentModel.DataAnnotations; 
using System.ComponentModel.DataAnnotations.Schema; 


沒有留言:

張貼留言

熱門文章