nhibernate入门系列: one-to-one映射 2006-1-3 0 · nh中的one-to-one(一对一)映射有两种情况, 一种是主键(PrimaryKey)关联, 一种是外健(ForeignKey)关联. 在主键关联的情况下, 显然必须有一个主键是根据别一个主键而来的, nh通过一个特殊的方式来处理这种情况, 要注意的是两个主健名称必须同名.而外健一对一关联, 需要在one-to-one配置中定义一个pro...
nhibernate入门系列 NHB的MAP文件使用 2006-1-3 0 · MAP文件,可以充当一个数据库的描述,例如数据库的基本关系,类型的定义,一般情况下,当给出了MAP文件,您完全可以根据它生成对应的数据库. using NHibernate;using NHibernate.Cfg;using NHibernate.Dialect;using NHibernate.Tool.hbm2ddl; using System ;using System.Reflection ;namespace FootBal...
nhibernate入门系列: 使用Criteria载入对象 2006-1-3 0 · nh会话提供一种使用表达式(就像SQL语句的where表达式)来载入数据的方法, 以取得满足条件的对象集合。通过CreateCriteria方法, 可以取得一个ICriteria接口, 这个接口用于操作表达式和排序字段. 由CriteriaImpl类实现,此类加有Internal修饰,因此不能在程序集外显示创建, CreateCriteria方法需要一 ...
nhibernate入门系列: 对象持久化操作 2006-1-3 0 · nh通过类映射文件将数据表与类关联起来. 由类对应表, 属性对应列. 这样我们才能把对象转为表记录, 把表记录转为对象. 这里以一个Products表为例, 来说明类映射文件的一些细节.先来看看Product对象(在基于OO的设计概念中,是先设计对象的哦~), 这个类比较简单, 只有一些属性.class Product() { pro...
nhibernate入门系列: one-to-many映射 2006-1-3 0 · 数据库中的主从表就是一对多的关系了,这种关系在按范式设计的数据库中是十分常见的.在nh中,通过one-to-many映射可以十分方便的处理这种关系,包括级联更新,删除等. 下面以一个简单的主从表来说明one-to-many的应用.先来看看Parent类的映射信息:<class name="Parent, assemblyname" ta...
nhibernate源码分析之九: 事务处理 2006-1-3 0 · 对数据库的操作是少不了事务处理的,事务能保整数据完整性和有效性。 在nh中,使用Transaction对象对.net的事务对象(实现了IDbTransaction接口的对象)进行了包装。在nh中,一个典型的事务处理是这样的(见ISession.cs的注释)ISession sess = factory.OpenSession();Transaction tx;try { tx = ses...
NHibernate源码分析之三(续):数据持久化 2006-1-3 0 · 当持久化对象时,显然必须存在把记录的值赋值到对象属性和取得对象属性的值用于持久化操作,对于更新操作,还需要检查对象的值是否已发生变化,即是否为Dirty,这些操作都是由对象的持久化类来完成的。有关持久化类可参考《会话和持久化操作》一文。下面对NH的源码进行分析,以了解NH中数据加载和 ...
nhibernate源码分析之八: 解析HQL 2006-1-3 0 · 本文将对HQL查询文本的解析过程进行分析,这个可以说是NH中比较复杂的一块了(个人认为),涉及到的类也比较多。建议阅读之前先深呼吸十下,看完之后脑袋成浆糊可不要找我哟。:-)在HQL数据加载一文中,我们有提到QueryTranslator的创建过程,代码如下://*** SessionFactoryImpl.cs 429行 *** priv...
nhibernate源码分析之七: HQL数据加载 2006-1-3 0 · NH中,HQL是一个十分强大的面向对象的查询语言,简单的说,就是不需要使用实际的表名和列名来查询数据,而改用类名和属性。有两种方式来执行HQL数据加载,一种是直接使用ISession的Find方法,另一种是使用IQuery接口。IQuery接口提供了一些额外的设置,最重要的就是分页了,这个和ICriteria差不多 ...
nhibernate源码分析之六: Criteria数据加载 2006-1-3 0 · ICriteria是使用Expression进行数据加载的接口, 提供了设置表达式(Expression), 排序方式(Order), 分页记录等操作.它使用一种类似于SQL语句where表达表的方式来加载满足条件的数据.下面以一个查询Username为billy, Password为test的用户为例来分析nh中Criteria数据加载是怎样工作的.查询代码如下:E...
nhibernate源码分析之五: 对象标识 2006-1-3 0 · 对象标识相当于数据表中的主键,在持久化中起着十分重要的作用,nhibernate通过对象标识来辨别两个持久对象是否相等。在映射文件中,通过id属性来定义对象标识,内容如下: 其中unsaved-value属性用来指明对象未持久化时的值,如果此值与未持久化的对象标识值不符,将无法save对象,generator用于...
nhibernate源码分析之四: 持久化操作与SQL语句 2006-1-3 0 · 持久化操作由与持久对象关联的持久化类来完成,持久化类是实现IClassPersister接口的类,每个持久对象都有一个关联的持久化类,这些持久化类存储在会话工厂的classPersisters集合中,nhibernate允许用户通过自定义的持久化类来持久化数据。IClassPersister接口定义了基本的CRUD操作,在nhibernate ...
nhibernate源码分析之三: 会话与持久化操作 2006-1-3 0 · 会话是nhibernate中的主要接口,也是我们进行持久化操作和数据加载的主要接口,ISession在IClassPersister、ITransaction、ICriteria和IQuery之间起着协调者的作用。会话对象通过调用会话工厂的OpenSession方法获得,OpenSession方法有一个参数interceptor,这是一个拦截器,由实现了IInterceptor ...
c#生成图片缩略图的类 2006-1-3 0 · 里面有4个重载方法,有直接返回Image对象的,有生成缩略图,并且保存到指定目录的!using System.IO;using System.Drawing;using System.Drawing.Imaging;/// <summary> /// 图片处理类 /// 1、生成缩略图片或按照比例改变图片的大小和画质 /// 2、将生成的缩略图放到指定的目录下 /// </summ...
ASP.NET中实现中文简/繁体自动转换的类 2006-1-3 0 · 注意:如在实际应用中,发现有本例子字库以外的汉字,可以自己添加,繁体简体对应字在_sGB和_tGB中的对应位置要一致!否则转换会出问题! 代码例子:/// <summary> /// G2B5Filter 的摘要说明。 /// 将GB2312字符和Big5字符进行对照转换 /// 作者: 程式猎人 2003-06-24 /// </s...
WebConfirm控件 2006-1-3 0 · /* * 在看这个控件代码之前,先要熟悉以下内容: * 0.ViewState机制和作用。 * 1. 事件机制。 * 2. 回发机制:在非窗体控件中保持客户端更改,ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/HTML/cpconpersistingclient-sidechangesinnon-formcontrol.htm * 3. IPostBackDataHandler的 ...
Visual SourceSafe应用守则 2006-1-3 0 · [按] 本文为作者为工作小组制定的源码控制方案. 与Visual Studio集成的用法. [正文]Visual SourceSafe应用守则2004-6-23SourceSafe源码控制与Visual Studio .NET是紧密集成的. 终端用户在IDE内的操作, 只要会对solution, project和其目录下的文本文件或二进制文件做出修改, 则会影响到所有工作组成...
DotLucene:37行代码全文搜索 2006-1-3 0 · <转自:http://www.alphatom.com>DotLucene是一个强有力的开源全文搜索引擎,它是从Apache的Lucene(java)项目移植到.Net(C#)上的。DotLucene的效率非常高,并且还具有对搜索结果评级、高光、搜索非结构数据以及本地化等特点。它还和Lucene的索引兼容,因此你可以在不同的平台间迁移而不 ...
web层常用方法类,包括打开窗口,刷新等等 2006-1-3 0 · namespace ITKMWeb{ using System; using System.Text; using System.Web; /// <summary> /// the WebMessageBox class /// </summary> public class WebMessageBox { private WebMessageBox(){} /// <summary> /// Overloaded. Displays a message box on the client page. ...
在 C# 中加载自己编写的动态链接库 2006-1-3 0 · 一、发生的背景 在开发新项目中使用了新的语言开发 C# 和新的技术方案 WEB Service,但是在新项目中,一些旧的模块需要继续使用,一般是采用 C 或 C++ 或 Delphi 编写的,如何利用旧模块对于开发人员来说,有三种可用方法供选择:第一、将 C 或 C++ 函数用 C# 彻底改写一遍,这样整个项目代码 ...
页次:17 /229 20篇/页 首页 上一页 下一页 尾页 合计 4578 篇 Go:第1页 第2页 第3页 第4页 第5页 第6页 第7页 第8页 第9页 第10页 第11页 第12页 第13页 第14页 第15页 第16页 第17页 第18页 第19页 第20页 第21页 第22页 第23页 第24页 第25页 第26页 第27页 第28页 第29页 第30页 第31页 第32页 第33页 第34页 第35页 第36页 第37页 第38页 第39页 第40页 第41页 第42页 第43页 第44页 第45页 第46页 第47页 第48页 第49页 第50页 第51页 第52页 第53页 第54页 第55页 第56页 第57页 第58页 第59页 第60页 第61页 第62页 第63页 第64页 第65页 第66页 第67页 第68页 第69页 第70页 第71页 第72页 第73页 第74页 第75页 第76页 第77页 第78页 第79页 第80页 第81页 第82页 第83页 第84页 第85页 第86页 第87页 第88页 第89页 第90页 第91页 第92页 第93页 第94页 第95页 第96页 第97页 第98页 第99页 第100页 第101页 第102页 第103页 第104页 第105页 第106页 第107页 第108页 第109页 第110页 第111页 第112页 第113页 第114页 第115页 第116页 第117页 第118页 第119页 第120页 第121页 第122页 第123页 第124页 第125页 第126页 第127页 第128页 第129页 第130页 第131页 第132页 第133页 第134页 第135页 第136页 第137页 第138页 第139页 第140页 第141页 第142页 第143页 第144页 第145页 第146页 第147页 第148页 第149页 第150页 第151页 第152页 第153页 第154页 第155页 第156页 第157页 第158页 第159页 第160页 第161页 第162页 第163页 第164页 第165页 第166页 第167页 第168页 第169页 第170页 第171页 第172页 第173页 第174页 第175页 第176页 第177页 第178页 第179页 第180页 第181页 第182页 第183页 第184页 第185页 第186页 第187页 第188页 第189页 第190页 第191页 第192页 第193页 第194页 第195页 第196页 第197页 第198页 第199页 第200页 第201页 第202页 第203页 第204页 第205页 第206页 第207页 第208页 第209页 第210页 第211页 第212页 第213页 第214页 第215页 第216页 第217页 第218页 第219页 第220页 第221页 第222页 第223页 第224页 第225页 第226页 第227页 第228页 第229页