- 博客(14)
- 资源 (2)
- 收藏
- 关注
翻译 NULL值处理细节
NULL值处理细节 2020年8月24日 4分钟阅读 本主题描述使用’null’值的细节,以及在编写条件时应如何对待它们。 考虑以下示例。该员工持久化类暴露了两个属性-名字和经理。名称是指定员工姓名的字符串属性。如果当前对象不代表经理,则经理是引用Employee对象的引用属性。如果当前雇员是经理,则该属性包含空引用。 C# VB.NET public class Employee : XPObject { public string Name { get { return
2021-02-01 09:21:58
192
翻译 直接SQL查询
直接SQL查询 2020年11月12日 6分钟阅读 在XPO中,您可以对数据库执行直接SQL查询,并以标量值,结果集或对象集合的形式获取查询结果。 #执行SQL语句 要执行不产生结果集的SQL语句,请调用Session.ExecuteNonQuery方法,如下所示。 C# VB.NET unitOfWork.ExecuteNonQuery("UPDATE [Northwind].[dbo].[Order Details]" + "SET [Discount] = 0.15 WHERE [Un
2021-02-01 09:21:24
218
翻译 存储过程
存储过程 2020年8月24日 3分钟阅读 XPO中对存储过程的支持包括以下功能。 #直接调用现有存储过程 您可以使用以下方法来调用存储过程: Session.ExecuteSproc Session.GetObjectsFromSproc Session.GetObjectsFromSproc 。 为了简化实现,数据模型向导可以选择为视图,触发器和存储过程生成所有必需的持久性类和DDL(数据描述语言)代码。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8yIxsV
2021-02-01 09:20:51
128
翻译 自由链接
自由链接 2020年10月29日 2分钟阅读 使用XPO,您可以使用自由连接基于不直接相关(没有显式定义的关联)的持久对象建立条件。本质上,XPO允许您连接条件上的任何持久对象,使用它们的属性针对匹配对象计算聚合函数,并返回聚合值作为连接的结果。为此,请在您的条件中使用JoinOperand。 用于创建JoinOperand的选项包括: 该CriteriaOperator.Parse方法。 方法的条件字符串参数的一般格式为:[< JoinTypeName >] [ JoinConditi
2021-02-01 09:20:15
354
翻译 排序
排序 2020年8月24日 5分钟阅读 XPO允许您执行以下操作: 在检索数据之前对数据存储中的数据项进行排序, 对已经检索到的持久对象进行排序。 #在服务器端对数据排序 #使用XPQuery 排序数据 您可以通过XPQuery 对象检索数据项,并使用LINQ To XPO对基础数据源运行LINQ查询。 以下示例显示如何获取排序的数据: C# VB.NET using System.Linq; using DevExpress.Xpo; ... XPQuery<Customer>
2021-02-01 09:19:38
127
翻译 LINQ转XPO
LINQ转XPO 2020年8月24日 4分钟阅读 XPO包含XPQuery 类,该类旨在构建LINQ表达式并针对基础数据存储区执行它们。**XPQuery **可以将多个查询链接在一起,并支持延迟执行。 要运行查询并加载数据,请调用ToList()或ToArray()扩展方法,或使用foreach运算符枚举XPQuery 。 您可以通过以下方式创建XPQuery 实例: 通过会话的XPQueryExtensions.Query 扩展方法,从会话的范围创建实例。 传递一个会话或工作单元至一个XP
2021-01-27 17:05:20
171
翻译 查询和整形数据
查询和整形数据 2020年8月24日 通过查询数据存储,您可以检索特定数据并将其存储在临时数据存储中,以供进一步查看和评估。在XPO中,您可以获得以下查询结果: 对象的集合(XPCollection,XPCollection ,XPCursor,Session.GetObjectsFromQuery,Session.GetObjectsFromSproc,Session.GetObjectsByKeyFromSproc,Session.GetObjectsByKey,Session.GetObject
2021-01-27 17:04:45
77
翻译 缓存的数据存储
缓存的数据存储 2020年11月11日 6分钟阅读 XPO为数据存储级别的缓存提供功能。高速缓存存储查询及其在数据存储中执行时的结果。每当以前执行过的查询通过缓存时,该查询的结果将立即返回,而无需往返于数据存储。通常,这可以显着提高性能,并确保在分布式应用程序中通过有线传输尽可能少的数据。 为了使数据存储缓存,四个班级指定根及其节点- DataCacheRoot,MSSql2005SqlDependencyCacheRoot,DataCacheNode和DataCacheNodeLocal -必须结合起
2021-01-27 17:04:05
188
原创 连接到数据存储
连接到数据存储 2020年9月30日 9分钟阅读 #先决条件 要将XPO与数据库服务器一起使用,请将所需的数据库提供程序程序集添加到项目的引用中。有关详细信息,请参见XPO支持的数据库系统文档。 #指定连接设置 调用GetDataLayer(String,AutoCreateOption)方法,并将连接字符串或现有连接对象作为参数传递给此方法。此方法创建一个数据访问层(DAL)对象。 使用新创建的DAL创建UnitOfWork或Session对象: C# VB.NET using System; u
2021-01-27 17:02:06
177
原创 验证对象
验证对象 2020年9月10日 2分钟阅读 eXpress持久对象没有内置的验证逻辑。您可以重写IXPObject.OnSaving或IXPObject.OnDeleting方法以实现验证逻辑。例如,这在执行“防御性编程”时执行各种检查很有用。不建议将保存对象的过程与业务逻辑混合在一起。 下面的示例演示如何防止将Name属性设置为空字符串。如果将此属性设置为空字符串,则XPO会引发RequiredPropertyValueMissing异常。 C# VB.NET public class Requi
2021-01-27 16:33:49
141
原创 使用事务2
使用事务2 2020年8月24日 4分钟阅读 事务是一组顺序的操作操作,就像是一个工作单元一样执行。换句话说,除非组中的每个单独操作成功,否则交易将永远不会完成。如果事务中的任何操作失败,则整个事务将失败。 事务具有以下四个标准属性(ACID属性)。 原子性:确保工作单元内的所有操作均成功完成;否则,以前的操作将回滚到以前的状态。 一致性:要求保留事务绑定的数据的语义。 隔离:单个事务的结果必须对任何其他未完成的事务透明,直到该事务成功提交为止。 耐用性:确保在系统故障的情况下持久化已提交事务的结果或
2021-01-27 16:32:59
97
原创 使用事务
事务是逻辑单元,它允许原子地,一致地执行数据操作。在XPO中,可以使用适当的Session方法手动管理常规事务(在XPO级别)和显式事务(在数据库级别)。XPO还提供工作单元,将事务封装到可以完全提交或回滚的功能块中。 使用显式事务 2020年8月24日 3分钟阅读 一个明确的事务表示明确开始了内部的数据库事务会话或的UnitOfWork分离并最终确定在数据库级事务变化。显式事务使您可以轻松管理对象更改,并且在常规事务无法用于批处理对象更新的情况下也很方便。 XPO本质启动短明确的交易,只承诺在所做的更
2021-01-27 16:28:52
130
原创 删除永久对象
删除永久对象 2020年8月13日 4分钟阅读 该eXpress的持久性对象库支持延迟和即时对象删除。 #删除永久对象 要删除持久对象,请调用XPBaseObject.Delete方法: C# VB.NET public void DeleteByKey(int employeeKey){ using(var uow = new UnitOfWork()){ // Get an object var employee = uow.GetObjectByKey&
2021-01-27 16:27:41
183
原创 保存持久对象
保存持久对象 2020年8月24日 2分钟阅读 要保存持久对象,请使用以下任何API: 对象的XPBaseObject.Save方法-保存当前对象。 会话的Session.Save方法-保存单个或多个持久对象。 UnitOfWork.CommitChanges方法-使用“工作单位”时,保存对持久对象所做的所有更改。 C# VB.NET using(UnitOfWork uow = new UnitOfWork()) { Person p1 = new Person(uow
2021-01-27 15:21:27
110
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人