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

本文介绍如何在DevExpress XPO框架中动态创建持久化类,以实现对数据库的便捷访问。通过创建类实例并定义成员来映射数据库表结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

//z 2011-07-27 22:06:55@is2120.优快云 转载请注明出处
classProgram {
staticvoidMain(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.优快云 转载请注明出处
//z 从数据库中得到myClassA表信息
XPCollection collection =newXPCollection(XpoDefault.Session, myClassA);

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值