摘要:
今天开发的时候又遇到一个极其奇怪的问题,本人使用asp.net 2.0+NHibernate开发一个Publish系统,在使用NHibernate做持久层访问数据库的时候收到Exception:element was not found in the configuration file.但是很奇怪,我都是使用的跟标准一样的配置方法啊,并且是用codesmith生成的配置文件和Persistent... 阅读全文
摘要:
配置NHibernate有三种常见的配置方法。1:在web.config,App.config里面配置[代码]则需要这样实例化Configuration对象。NHibernate.Cfg.Configuration cfg = new NHibernate.Cfg.Configuration();这种配置方法将会到应用程序配置文件(App.Config,Web.Config)中查找NHiberna... 阅读全文
摘要:
数据库设计指南如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。有关数据库设计的材料汗牛充栋,大学学位课程里也有专门的讲述。不过,就如我们反复强调的那样,再好的老师也比不过经验的教诲。所以我们最近找了些对数据库设计颇有造诣的专业人士给大家传授一些设计数据库的技巧和经验。我们的编辑从收到的130 个反馈中精选了其中的60 个最佳技巧,并把这些技巧编写成了本文,为了方便索... 阅读全文
摘要:
19. 仔细选择数字类型在SQL 中使用smallint 和tinyint 类型要特别小心,比如,假如你想看看月销售总额,你的总额字段类型是smallint,那么,如果总额超过了$32,767 你就不能进行计算操作了。— egermain20. 删除标记在表中包含一个“删除标记”字段,这样就可以把行标记为删除。在关系数据库里不要单独删除某一行;最好采用清除数据程... 阅读全文
摘要:
本文并不是去详细的介绍如何使用NHibernate,而是通过一个简单的例子来演示基于NHibernate的三层结构应用程序开发过程。关于NHibernate的有关文档,DDL已经做了汉化,但是由于英文文档自身就不完善,所以汉化后也是不全。菩提树在一篇《NHibernate学习之路》随笔中谈到了学习NHibernate遇到的困难,也希望大家把自己在使用NHibernate中的经验和心得能够共享出来,... 阅读全文
摘要:
4. 使用NHibernate的API进行编程 数据库编程不外乎“添加”、“删除”、“更新”,看看NHibernate是如何实现这三种操作吧。 (1) 在类中声明NHibernate的Factory private static Configuration mCfg=new Configuration();private st... 阅读全文
摘要:
2) 含有关系的表的情况 含有关系的表指的是像学生这样,除了保存学生的基本信息,还希望把选课信息保存到学生的类中。这样情况下不能用软件来辅助产生对应的类和XML,这是NHibernate中唯一需要费脑筋学的地方。学生表对应的类和XML如下所示: 类文件(Student.cs) using System; using Iesi.Collections; namespace CodeTest{ pu... 阅读全文
摘要:
3. 创建.Net类和与其对应的XML文件 (1) 单表的情况 单表的情况就是指该表没有和其他表有关联的情况。这样情况下,可以用软件来辅助产生类和对应的XML文件。在这里,仍然采用手写的方式来生成这两个文件。对于课程表,需要写的类和XML如下所示: 类文件(Course.cs) using System; namespace NHibernateTest{ public class Course... 阅读全文
摘要:
三、NHibernate的使用1. 配置NHibernate (1)NHibernate的配置文件有两种:在桌面应用程序(WinForm)中为App.config,在网页应用程序(WebForm)中为web.config。两种方法要添加的配置信息是一样的,目标都是告诉NHbiernate使用什么样的数据库,使用哪个库,用户密码分别是什么。 如果使用的是WinForm,将如下文本保存为App.con... 阅读全文
摘要:
第三步:写映射文件现在我们有数据表和需要去映射它的.Net类。我们需要一种方式去让NHibernate知道如何从一个映射到另一个。这个任务依赖于映射文件来完成。最易于管理的办法是为每一个类写一个映射文件,如果你命名它是YourObject.hbm.xml 并且把它放在和类的同一个目录里,NHiberante将会使得事情简单起来。下面是一个User.hbm.xml的例子: <?xml vers... 阅读全文