程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 自己動手寫ASP.NET ORM框架(四):關系映射配置—Id屬性

自己動手寫ASP.NET ORM框架(四):關系映射配置—Id屬性

編輯:關於ASP.NET

上一篇中完成了Table自定義屬性的功能,現在來完成Id,因為一張表最主要的是結構就 是表名(Table name)、主鍵(Id)、列(Column)、主鍵生成策略。

Id自定義屬性的用法代碼塊1-1:

[Table(name="Student")]
public class StudentEntity
{
   private string stuid;

   [Id(Name = "studentid", Strategy = GenerationType.SEQUENCE)]

   public string Stuid
   {
     get { return stuid; }
     set { stuid = value; }
   }
}

在Stuid屬性上[Id]就表示在StudentEntity實體類中,Stuid屬性字段對應Student表中主 鍵ID,Name = "studentid"表示該屬性對應Student表中的studentid列名,如果Name值未指 定或者為空,將默認為該屬性名稱和對應的Student表中的列名相同,都為Stuid。

Strategy = GenerationType.SEQUENCE表示主鍵生成方式,這裡是自動增長。

下面是自定義屬性Id的完整代碼塊1-2:

using System;
using System.Collections.Generic;
using System.Text;

namespace System.Orm.CustomAttributes
{
   [AttributeUsage(AttributeTargets.Field|AttributeTargets.Property,
     AllowMultiple = false, Inherited = false)]
   public class IdAttribute : Attribute
   {
     private string _Name = string.Empty;
     private int _Strategy = GenerationType.INDENTITY;

     public string Name
     {
       get { return _Name; }
       set { _Name = value; }
     }

     public int Strategy
     {
       get { return _Strategy; }
       set { _Strategy = value; }
     }
   }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved