文章分类 -  O/R Mapping

摘要:不少朋友问我Gentle.NET怎么个玩法,因为Gentle.NET的文档是属于看似丰富,实际上看了下来,仍然一头雾水。为了免大家自己再去解读源码的麻烦,所以简单介绍一下快速使用Gentle.NET的使用方法。不过,介绍前请先注意几点: 首先,请注意的是Gentle.NET至这篇贴子为止,已经到了1.2.6版本,但这并不意味着Gentle.NET是非常成熟与非常成功的组件,它与NHibern... 阅读全文
posted @ 2005-10-18 11:49 一根神棍研古今 阅读(5100) 评论(19) 推荐(0) 编辑
摘要:Gentle.NET中提供了一个公共的数据验证框架(1.2.1或更高版本中),是基于特性描述的。 框架里面提供了三个验证器: RegexValidator:使用正则表达式对字符串进行验证 RequiredValidator:标明某字段不能为空,适合于所有类型 RangerValidator:用于验证数字类型是否在某个范围之内 如果愿意,也可... 阅读全文
posted @ 2005-07-04 14:48 一根神棍研古今 阅读(719) 评论(1) 推荐(0) 编辑
摘要:Gentle中空值处理是通过“魔术值”来实现的,也就是说,如果某数据库内的字段为null的情形下,Gentle.net中,会映射成为一个相应数据类型的值。这种情形下,比较难以处理的是DataTime数据类型,因为这种类型一般没有确定的值,然而空值对它却是有意义的。在Gentle.NET中,使用了DataTime.Min来作为这种数据类型的“魔术值”,一般情况,这样是适用的。 阅读全文
posted @ 2005-07-04 14:40 一根神棍研古今 阅读(793) 评论(0) 推荐(0) 编辑
摘要:Gentle support row-level concurrency control, that is, it provides a means of ensuring data integrity when multiple processes may be accessing the same data (typical for web applications).Note:Gentle支... 阅读全文
posted @ 2005-07-04 14:35 一根神棍研古今 阅读(695) 评论(0) 推荐(0) 编辑
摘要:续:....................................................................................................... 如果是采用实体类的方式,在软件中动态创建一个新列,这将是一个最大的恶梦,当然,这并不是不可实现,只是在实现上将要花费不少的周章。比如,你需要继承这个实体类,然后在新类中增加一个新的字... 阅读全文
posted @ 2005-06-07 13:29 一根神棍研古今 阅读(3696) 评论(8) 推荐(0) 编辑
摘要:O/R Mapping的作用是什么?接触了很久,最早的时候,是冲着这玩意是一个较新的概念,觉得玩起来与众不同,有点酷酷的感觉。 一开始,对O/R Mapping的了解极为肤浅,一点也弄不清楚O/R Mapping究竟有什么现实的意义,虽然我信奉“一切皆对象”,但也知道,信奉归信奉,局限人类科学发展的与个人技术水平的局限,以及现实的性能需要等等,这是不现实的。 ... 阅读全文
posted @ 2005-06-06 10:46 一根神棍研古今 阅读(4069) 评论(22) 推荐(0) 编辑
摘要:缓存在实现,如何与数据库进行同步是一个令人头痛的问题。通常情况下,对于缓存的维护的职责,并不由缓存本身来进行管理,但在我思考的组件中,是需要一个自动维护与数据库进行同步的机制的,目前一般的缓存同步处理有以下几种方式, 1、通过数据库主动发送更新消息给应用程序,应用程序获取更改消息后,就去查询数据库获取最新的数据。 这种方式往往对数据库本身的机制依赖性较... 阅读全文
posted @ 2005-03-27 15:26 一根神棍研古今 阅读(2047) 评论(9) 推荐(0) 编辑
摘要:缓存在O/R Mapping组件中是非常重要的,一个比较好的缓存方案,可以大大地提高对象的使用效率,避免内存空间上的浪费。目前需要在构思架构部分,但缓存的实现方式突然吸引了我,所以就对缓存进行一些思考,并研究了Gentle.NET与NHibernate的实现原理。 [这里的研究基于NHibernate 0.7.0] NHibernate的实现方案 在NHibernate上,... 阅读全文
posted @ 2005-03-27 14:36 一根神棍研古今 阅读(2007) 评论(1) 推荐(0) 编辑
摘要:缓存在O/R Mapping组件中是非常重要的,一个比较好的缓存方案,可以大大地提高对象的使用效率,避免内存空间上的浪费。目前需要在构思架构部分,但缓存的实现方式突然吸引了我,所以就对缓存进行一些思考,并研究了Gentle.NET与NHibernate的实现原理。 [这里的研究基于Gentle.NET 1.1.2] Gentle.NET的缓存实现方案 坦白说,打开Gentle... 阅读全文
posted @ 2005-03-26 22:47 一根神棍研古今 阅读(2155) 评论(3) 推荐(0) 编辑
摘要:前言 灵感来自于很久以前对Foxpro的数据库结构研究:在FoxPro中,数据库中的表,是采用的表定义表的方式进行的,就我关心的而言表一般分为两类,一种定义表,一种是实体表,其中实体表中的数据存储是通过定义表来实现的,如果你需要修改表中的字段(例如添加与删除或修改),有非常简单的手段,只用修改定义表的形式来进行。这使得字段的代价大大地降低了。上世纪90年左右的时候,一位老工程师就用... 阅读全文
posted @ 2005-03-25 19:32 一根神棍研古今 阅读(2777) 评论(6) 推荐(0) 编辑
摘要:我打算在业余时间写一个自己的、能够充分利用.NET特性O/R Mapping组件(能不能用不管它),基本的思路是研究代码生成器和一些成熟的O/R Mapping组件的思想来进行,如果有什么问题,大家请随时指正。我会不断地记录自己的开发与思考的过程,也当做一种形式上的开源吧。 基本概念的研究 整体构思 目前的O/R Mapping要么是基于代码生成的,代码生成有时候较难以管理,但它却具有... 阅读全文
posted @ 2005-03-24 20:38 一根神棍研古今 阅读(4968) 评论(11) 推荐(0) 编辑
摘要:Gentle.NET,并不会直接创建数据库,它与XPO正相反,是一个由表到代码的反向映射,所以对于代码生成来说,Gentle.net是有一定的优越性。 Gentle.NET也不会直接创建表,实际上这一点并不理想(可以是我使用XPO过多的原因),使用时,将会有许多不便之处。 创建一个基于Gentle所必须的步骤: 1、引用Gentle.Common.dll、Gentle.Fra... 阅读全文
posted @ 2005-03-13 14:52 一根神棍研古今 阅读(880) 评论(0) 推荐(0) 编辑
摘要:ConcurrencyControl true or false ... 阅读全文
posted @ 2005-03-13 14:23 一根神棍研古今 阅读(1148) 评论(3) 推荐(0) 编辑
摘要:日常开发之中,列表与独立的实体对象操作,是一样的重要,在XPO中是通过XpoCollection来管理的,Gentle里面又是什么样子呢? 根据Gentle的文档中的示例如下: staticpublicIListListAll { get{returnBroker.RetrieveList(typeof(User... 阅读全文
posted @ 2005-03-11 11:13 一根神棍研古今 阅读(1014) 评论(0) 推荐(0) 编辑
摘要:一个简单的User类 public class User { privateint userId; private string userName; public User( int userId, string userName ) { this.userId = userId; this.userName... 阅读全文
posted @ 2005-03-11 11:02 一根神棍研古今 阅读(1419) 评论(0) 推荐(0) 编辑

Web Counter