• DevExpress 动态创建实例化类 (xpo)


    使用xpo(devexpress)时动态创建一个持久化类。这样方便访问数据库。

    /*
    使用DevExpress 控件 xpo
    XPObject 持久化对象 数据库访问 表 XPObject
    */

    //z 2011-07-27 22:06:55@is2120.CSDN 转载请注明出处
    class Program {
        static void Main(string[] args) {
            XpoDefault.DataLayer =
                XpoDefault.GetDataLayer(DevExpress.Xpo.DB.AutoCreateOption.DatabaseAndSchema);

            XPDictionary dictionary = XpoDefault.DataLayer.Dictionary;
            XPClassInfo myBaseClass = dictionary.GetClassInfo(typeof(MyBaseObject));
        
        //z 动态创建持久化类(XPO)
            XPClassInfo myClassA = dictionary.CreateClass(myBaseClass, "MyObjectA");
        //z 为之添加member,每个代表了一个列名
            myClassA.CreateMember("ID"typeof(int));
            myClassA.CreateMember("Name"typeof(string));

            //z 2011-07-27 22:06:55@is2120.CSDN 转载请注明出处
        //z 从数据库中得到myClassA表信息
            XPCollection collection = new XPCollection(XpoDefault.Session, myClassA);

        //z 为新对象生成一个唯一的ID
            Random rnd = new Random();
            int newId;
            do {
                newId = rnd.Next(100);
            } while(XpoDefault.Session.GetObjectByKey(myClassA, newId) != null);

        //z 创建一个新的实例
            MyBaseObject objNew = (MyBaseObject)myClassA.CreateNewObject(XpoDefault.Session);
        }
    }

    //z  创建一个持久化类,注意从XPLiteObject创建。
    [NonPersistent]
    public class MyBaseObject : XPLiteObject {
        public MyBaseObject(Session session)
        : base(session) { }
        public MyBaseObject(Session session, XPClassInfo classInfo)
        : base(session, classInfo) { }
    }


    //z 2013-02-27 14:01:30 IS2120@BG57IV3.T2355831976.K[T215,L2906,R88,V3140]

  • 相关阅读:
    /bin,/sbin,/usr/sbin,/usr/bin 目录
    centos开放端口8080
    centos 创建用户组及用户
    oracle内存优化
    ORACLE概要文件
    【刷题】洛谷 P3834 【模板】可持久化线段树 1(主席树)
    【总结】莫比乌斯反演
    【刷题】洛谷 P3768 简单的数学题
    【刷题】BZOJ 4816 [Sdoi2017]数字表格
    【刷题】BZOJ 2693 jzptab
  • 原文地址:https://www.cnblogs.com/IS2120/p/6746030.html
Copyright © 2020-2023  润新知