首页 > 其他分享 >DevExpress 动态创建实例化类 (xpo)

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

时间:2023-06-09 16:33:32浏览次数:41  
标签:MyBaseObject xpo session Session DevExpress XpoDefault myClassA 化类

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

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

//z 2011-07-27 22:06:[email protected] 转载请注明出处
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:[email protected] 转载请注明出处
     //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 [email protected][T215,L2906,R88,V3140]

标签:MyBaseObject,xpo,session,Session,DevExpress,XpoDefault,myClassA,化类
From: https://blog.51cto.com/u_16156420/6449074

相关文章

  • DevExpress WPF功能区控件,更轻松创建商业应用工具栏!(上)
    DevExpressWPF的Ribbon、Toolbar和Menus组件以MicrosoftOffice为灵感,针对WPF开发人员进行了优化,可帮助您在段时间内模拟当今最流行的商业生产力应用程序。DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有......
  • Three.js系列-报错export ‘Geometry‘ (imported as ‘THREE‘) was not found in ‘
    今天遇到报错export'Geometry'(importedas'THREE')wasnotfoundin'three'port'Geometry'(importedas'THREE')wasnotfoundin'three'(possibleexports:ACESFilmicToneMapping,AddEquation,AddOpe......
  • DevExpress WinForms v23.1新功能抢先看——支持系统强调色更改
    DevExpressWinForm下一个主要版本(v23.1)将在6月份左右发布,本文将为大家介绍在早期访问预览版(EAP)中包含的新功能。PS:DevExpressWinForm拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForm能完美构建流畅、美观且易于使用的应用程序,无论......
  • 在DevExpress的GridView的列中,使用RepositoryItemSearchLookUpEdit控件实现产品列表信
    有时候,我们为了方便,我们往往使用扩展函数的代码方式创建很多GridView的操作功能,如在随笔《在DevExpress中使用BandedGridView表格实现多行表头的处理》中介绍过多行表头的创建及绑定处理,在《基于DevExpress的GridControl实现的一些界面处理功能》也介绍了一些特殊的展示效果,本篇随......
  • 解决VSCode的Vetur插件has no default export问题
    由于有vue2和vue3的项目,VSCode同时使用了vetur和volar插件,但是在vue3引入其他模块时,报了错误Module'"xxxx.vue"'hasnodefaultexport.的错误,实际运行时没问题的,但是看得糟心。解决办法,只要在设置里,设置"vetur.validation.script":false......
  • Request类源码分析、序列化组件介绍、序列化类的基本使用、常用字段类和参数、反序列
    目录一、Request类源码分析二、序列化组件介绍三、序列化类的基本使用查询所有和查询单条四、常用字段类和参数(了解)常用字段类字段参数(校验数据来用的)五、反序列化之校验六、反序列化之保存七、APIVIew+序列化类+Response写的五个接口代码八、序列化高级用法之source(了解)九、......
  • 界面组件DevExpress WPF中文指南 - 如何应用系统强调色及主题切换
    在最新版本的MicrosoftOffice产品中,用户可以根据系统设置选择主题,当使用这个主题时,Office将采用Windows强调色和应用模式(亮/暗)设置,并将它们应用到Office本身。如果用户在操作系统中更改了强调色或应用模式,Office会检测到此更改并自动更新应用程序的外观。使用DevExpressWPF ......
  • Unity转出FBX模型(Exporter插件)
    Unity转出FBX模型为了解决在Unity场景修改过导出的模型,以后给美工修改不了预制体的问题Unity版本要求:2021.3.6f1c1(包括但不限于此版本以上)下载插件场景中选中模型任意模型点击导出FBX导出模型设置路径......
  • 界面控件DevExpress ASP.NET新主题——Office 365暗黑主题的应用
    DevExpressASP.NET WebFormsControls拥有针对Web表单(包括报表)的110+种UI控件,DevExpressASP.NETMVCExtensions是服务器端MVC扩展或客户端控件,由轻量级JavaScript小部件提供支持的70+个高性能DevExpressASP.NETCoreControls,包含功能完善的报表平台。在之前发布的v22.1版......
  • [Slide] 解决Slidev export导出pdf报错
    解决Slidevexport导出pdf报错问题按照Slidev的官方文档使用导出为pdf需要安装playwright-chromium官网安装方法如下:npmi-Dplaywright-chromium在我电脑上执行安装后直接执行导出命令sudoslidevexport,显示报错如下:Slidevv0.42.1(global)theme@slidev/......