XPO(eXpress Persistent Objects)是对象和关系数据库之间的桥梁。就是将面向对象编程所建立的对象在数据库中做一个映射,使之和数据库中的表建立一一对应的关系。使XPO,应用程序无需修改代码就可以兼容多种数据库 (MS Access, MS SQL Server, MS SQL Server CE, MS SQL Azure, MySQL, Oracle, PostgreSql, Firebird, PervasiveSQL, VistaDB, SQL Anywhere, Advantage, DB2, SQLite,Sybase) 。
以访问SQLite数据库为例

步骤1- 引用

DevExpress.Xpo.v18.2.dll
System.Data.SQLite.dll (如果是其他数据库,则引用其他的库)

步骤2 -创建实体对象

 class WorkPiece :XPObject{public string FirstName;public string LastName;public WorkPiece(Session session) : base(session) { }}

说明:

  • XPO使用Session表示一个数据库的连接

步骤3- 连接数据库

 var ConnectionString = "XpoProvider=SQLite;Data Source=system.db3";XpoDefault.DataLayer = XpoDefault.GetDataLayer(ConnectionString,AutoCreateOption.DatabaseAndSchema);

说明:

  • XpoDefault是一个全局设置,后面的数据访问默认都会使用这个全局(底层对应数据提供者的会话)
  • GetDataLayer方法可以根据连接字符连接到特定的数据库
  • GetDataLayer方法第2个参数可以用来自动创建数据库或表
  • 连接字符串也可以使用 SQLiteConnectionProvider.GetConnectionString(“system.db3”)获取。不同的数据库都有对应的ConnectionProvider,例如MSSqlConnectionProvider ,PostgreSqlConnectionProvider

步骤4- 实现对象的CRUD

增加

            WorkPiece p=new WorkPiece(XpoDefault.Session);p.FirstName = "guo";p.LastName="wushi";p.Save();
  • 使用默认的连接(Xpo.Session)完成操作。
  • 每个对象都会自动增加一个OID字段作为主键。

删除

contact.delete();

修改

和新增代码一样,但一个对象的OID(唯一标记)一样,则表示的是修改。

查找

string queryString = "原生SQL语句";
public SelectedData GetEmployeesSimpleData() {return session.ExecuteQuery(queryString);
}
  • SelectedData类表示查询的结果集

DevExpress- XPO入门(1)相关推荐

  1. DevExpress XPO使用WCF数据源

    XPO(eXpress Persistent Objects)DevExpress开源的ORM框架,是对象和关系数据库之间的桥梁.使用XPO可以大大简化对数据库操作. XPO还支持WCF - 使用ID ...

  2. DevExpress XPO 开发指南 简要

    最近在看devexpress   安装程序中的代码Demos ..  C:\Users\Public\Documents\DevExpress Demos 16.1\Components\WinFor ...

  3. 用DevExpress.Xpo 直接维护后台的 数据表,在这四列中录入的数据,即时插入或更新到关联的数据表中

    用DevExpress.Xpo 直接维护后台的 数据表,在这四列中录入的数据,即时插入或更新到关联的数据表中. 步骤: 1.引入DevExpress.Xpo.DLL服务 2.加入这些 using De ...

  4. DevExpress XPO 学习笔记

    基本概念 普通类:就是一个简单的定义的类. 持久化类:可以把类的实例中的数据透时的保存到数据库中的类. 什么是XPO XPO是由大名鼎鼎的DevExpress提供的一种商业的ORM工具. 从概念上来说 ...

  5. 郁闷之作 DevExpress.XPO. 1.7.3 自用补丁

    最近考了4门课,挂了一门,挂的纳闷59分,郁闷成P了.... 郁闷的我总是要发泄一下子,今天有事请假在家,顺便把一直想要的DevExpress.XPO. 1.7.3  for 2005 给破了算球.. ...

  6. eXpress Persistent Objects (XPO)入门:数据查询

    DevExpress旗下的 eXpress Persistent Objects(XPO) 是专为.NET平台提供的高级对象关系映射工具,旨在让开发人员在更高的抽象层级管理他们的数据.接下来小编将为大 ...

  7. DevExpress ASP.NET 使用经验谈(9)-Dev控件客户端事件 ClientSideEvents

    上一节,已经介绍了ASPxGridView的自定义列和基本事件 ,本节接着将介绍Dev控件的客户端事件模型. 在上节示例基础上,我们增加一行菜单,使用Dev的ASPxMenu来实现,如下图所示. 图一 ...

  8. 对XPO对象数据库访问数据库连接可控

    某项目进行中,因为分布式多线程的缘由,项目需要频繁的启用新的数据库连接,在系统启动几小时后系统出现数据库连接池不够导致数据库连接不成功. 项目使用了DevExpress XPO 数据库采用的是MySQ ...

  9. XPO:Session管理与缓存--测试篇

    之前整理了一下XPO在Session管理和缓存方面的一些资料(XPO:Session管理与缓存--机制篇),但原文的例程还是有些含糊的地方,这两天抽空做了一下测试.若有不当或者不对的地方敬请不吝赐教. ...

最新文章

  1. Java单元测试之JUnit4详解
  2. Coding 初级教程(二)——上传已有项目
  3. Java_小球自由落体_小球下落问题
  4. REVERSE-PRACTICE-CTFSHOW-1
  5. new TypeToken<List>>(){}.getType() 是什么意思
  6. 移动场景在其缩略图中显示场景中所显示的区域
  7. 知识主题间先序关系挖掘
  8. (134)FPGA面试题-介绍冯·诺依曼体系结构和哈佛体系结构
  9. C++ 知识整理 函数
  10. java图片色差_java – JPEG图像的颜色错误
  11. Flex皮肤制作教程
  12. sublime实用快捷键 mac版
  13. 机器学习笔记(五):超参数 | 凌云时刻
  14. 新建raw data 分区
  15. [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket错误解决方法总结
  16. 摆球控制程序PID算法
  17. blackberry 7290 关于电子书阅读的几个注意事项
  18. webstorm连接github上传代码
  19. Qt自定义对话框及调用方法
  20. php邮箱接收代码,PHP使用POP3读取邮箱接收邮件

热门文章

  1. 第一个项目GeoQuiz开发总结
  2. 【2016北京集训测试赛】river
  3. Swift - 多线程GCD详解
  4. 此三层非彼三层——MVCamp;UBD
  5. Klockwork告警常见错误
  6. poj 2728(最小比率生成树)
  7. Linux下使用parted对硬盘进行分区
  8. ROS集成开发环境搭建
  9. 高通android新建项目
  10. Android中APK直接通过JNI访问驱动