XPO:Session管理与缓存--测试篇
摘要:之前整理了一下XPO在Session管理和缓存方面的一些资料(XPO:Session管理与缓存--机制篇),但原文的例程还是有些含糊的地方,这两天抽空做了一下测试。若有不当或者不对的地方敬请不吝赐教。XPO初始化的代码就不重复贴了,这里只贴上主要的代码。测试中构建了2个简单的类,XpoUser和XpoOrder,一对多的关系。XpoUserCode highlighting produced by...
阅读全文
posted @
2010-02-11 17:00
Elvin Chen
阅读(2386)
推荐(0) 编辑
XPO:Session管理与缓存--机制篇
摘要:缓存的意义已经无需多言了。这里整理了一篇DevExpress的关于XPO的Session管理和缓存的文章:Session Management and Caching。About Sessions从6.1版开始,XPO新增了一个单独的Data Layer层,居于Session和IDataStore之间,它的作用是接管之前版本中由Session管理的所有持久类的元数据。这样创建Session的资源开...
阅读全文
posted @
2010-02-08 12:24
Elvin Chen
阅读(4232)
推荐(2) 编辑
使用XPO连接高于5.2.5.0版本的MySQL
摘要:XPO自然是支持MySQL的,只需要在项目里添加对MySql.Data的DLL(从MySQL官网下载Connector/Net可得)和DevExpress.Xpo.v9.2.Providers的DLL引用,并且在项目的入口点构造XpoDataLayer时指定使用MySQL即可。然而测试时遇到问题。手里的9.2.10版本的XPO,在编译时使用的是5.2.5.0版本的MySQL,而下载到的最新的是6....
阅读全文
posted @
2010-02-06 01:40
Elvin Chen
阅读(938)
推荐(0) 编辑
记录下XPO生成的SQL语句
摘要:XPO使用了标准的System.Diagnostics的Trace Log机制,只需要在config文件中加入如下代码,即可在Debug时在输出窗口看到XPO生成的SQL语句。ConfigCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--<?xml...
阅读全文
posted @
2010-02-05 18:00
Elvin Chen
阅读(938)
推荐(1) 编辑
封了一个XPO初始化类
摘要:方便以后直接调用。XpoInitializer.csCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--usingSystem;usingSystem.Configuration;usingSystem.Reflection;usingDevExpress...
阅读全文
posted @
2010-02-05 12:32
Elvin Chen
阅读(2194)
推荐(0) 编辑
在ASP.NET项目中使用XPO的最佳准则
摘要:学习XPO有一段时间了,也用它陆续做过几个项目。遇到过问题走过弯路,这里把DevExpress知识库的几篇文章的内容做了摘录和整理,并且加上了一些自己的注释,方便自己日后备忘也方便其他的朋友。1. Always define a constructor with a Session parameter in your persistent objects.This will help you pr...
阅读全文
posted @
2010-02-04 17:39
Elvin Chen
阅读(5283)
推荐(1) 编辑
XPO中的继承
摘要:XPO的继承类的持久化,简单说来有2种方式:1、将继承关系映射到一张单表:using DevExpress.Xpo;public class Person : XPObject { public string Name = "";}[MapInheritance(MapInheritanceType.ParentTable)]class Customer : Person { public str...
阅读全文
posted @
2010-02-03 15:13
Elvin Chen
阅读(678)
推荐(1) 编辑
XPO的UpCasting
摘要:在XPO中,设如上图的个例子,当需要取出所有Customer时,我们可以简单的XPCollection<CustomerBase> xpCustomers = new XPCollection<CustomerBase>(session1);但是此时我们只能访问基类的成员。假设CustomerRegistered有一名为OwnedProducts的属性,则无法访问到了,因为...
阅读全文
posted @
2010-02-03 14:58
Elvin Chen
阅读(502)
推荐(0) 编辑
XPO永久删除记录方法
摘要:调用Xpo对象的Delete方法时默认并不物理删除记录,只是给该记录打上标记。若需要物理上删除,需调用Session.PurgeDeletedObjects方法。对UnitofWork 来说,已测试调用该方法后不需要再 CommitChanges。Deferred Object DeletionIf theXPObjectorXPCustomObjectis used as the base cl...
阅读全文
posted @
2010-02-01 19:41
Elvin Chen
阅读(948)
推荐(0) 编辑