程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 一個O/RMapping的簡單例子

一個O/RMapping的簡單例子

編輯:關於ASP.NET

ORMAPPING出來已經很多年了,之前一直有關注,但一直沒有應用到項目中去,眾所周知,ORMAPPING 的性能是很大一個問題,雖然它節省代碼量,為程序員做了很多工作。而且ORMAPPING主要應用在JAVA領 域,.NET領域用到的少之又少,最近公司要做一個內部的資產管理系統,我就打算用ORMAPPING來做,對 幾種ORMAPPING的框架我進行了比較,第一,nhibernate這個我相信大家比較熟悉了,nhibernate在JAVA 領域已經應用相當廣泛了,nhibernate最持久層性能穩定,本來我也打算采用,但後來選擇放棄,主要是 他生成的一堆XML我很頭疼,不大好管理,這裡很多人會給nhibernate辯解,我一直以為nhibernate是 JAVA的東西,害怕性能問題。還有一個ORMAPPING的框架ibatis,這個其實也不錯,但最終我選擇了XPO, XPO是著名軟件公司devexpress的產品,它的應用簡單方便,好了,廢話少說,進入正題,今天就是講 ORMAPPING在XPO框架中的應用。

在講應用之前,先解析一下ORMAPPING的概念有助於讀者更好的理解代碼,ORMAPING其實是object ralation mapping其實就是對象關系映射,說白了就是把類映射到表,或者說把表在程序裡看成一個對象 ,更好的面向對象。ORMAAPING最重要的一些概念持久層,持久化工廠等等,各位自己去找資料,在此不 詳細說明。

下面我做一個例子,實現表的新增修改查詢。

這裡我建兩個表,一個是主表,一個是從表,它們之間是一對多的關系。基於ORMAPPING的概念,我先 建兩個類,繼承於XPOBJECT。

namespace MyFirstMapping

{

    public class User:XPObject
    {
        public User(Session session) : base(session) { }
        private string accountName;
        private string realName;

        private string userPwd = "U";
        public string AccountName

        {

            get { return accountName; }

            set { accountName = value; }

        }
        public string RealName

        {

            get { return realName; }

            set { realName = value; }

        }
        public string UserPwd

        {

            get { return userPwd; }

            set { userPwd = value; }

        }
        [Association("MyRalation", typeof(UserDetail))]

        public XPCollection UserDetailss { get { return GetCollection

("UserDetailss"); } }
    }
}
namespace MyFirstMapping

{

    public class UserDetail:XPObject

    {

        public UserDetail(Session session) : base(session) { }

        private string accountName;

        private string address;

        public string AccountName

        {

            get { return accountName; }

            set { accountName = value; }

        }

        public string Address

        {

            get { return address; }

            set { address = value; }

        }

        [Association("MyRalation")]

        public User user;               
    }

}

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