Fluent nHibernate,简化nHibernate工作量的好工具。
nHibernate相信用C#跟数据库打交道的多少知道一些,用过nHibernate的对其中nHibernate的XML配置文件的繁杂应该深有印象。Fluent nHibernate就是为简化nHibernate的配置而诞生,使用Fluent nHibernate可以使nHibernate的配置工作用C#代码完成,而无需用实体的XML文件,极大的方便是用
nHibernate的工作量。
由于项目需求,最近要学习并使用Flunent Nhibernate与Oracle。边学习边开发,遇到很多问题,这里只做总结,每日修正。希望对像我一样的入门菜鸟兄弟有点点帮助。当然,现在我的博客访问量少的可怜。没关系,我执着的写,持之以恒的写,记录我的学习之路,记录我的青春。我可以渺小,但要过的精彩。
第一,首先,Nhibernate与Flunent Nhibernate是两种第三方工具。应该说Flunent Nhibernate以Nhibernate为基础,提供了更为方便的Map文件。这些好处可以去官网看一下。虽然英文,但大体还是能看明白,只可惜我没找到系统的帮助文档。
我的开发是以写好Map 文件,再推出数据表的模式开发的。我想,这应该是比较规范的面向对象开发思想吧。可能,开始时我们没有感觉到使用Nhibernate的高效性。反而觉得在绕弯路。但仔细考虑下,减少sql语句的拼写,提高数据库访问的效率不一直是我们开发人员所追求的吗。应该相信对Nhibernate的应用是有利的。Flunent Nhibernate的更接近.net编码方式。标准的语法,强大的代码提示。上手应该很快。
查了很多资料,对Flunent Nhibernate的核心Map文件作详细介绍的并不多。有个系统的学习之旅这里推荐一下http://www.cnblogs.com/inday/archive/2009/08/04/Study-Fluent-NHibernate-Start.html
我也试着记录一系列自己的心得,可能不系统,不清晰。这次的笔记丛Map文件的属性说起。
首先,写好类之后,建一个与类名一致,外加Map的文件,例如:User.cs对应一个UserMap.cs。
该文件的书写方式,明天补充,今天先说其中的属性方法
1.Table:对数据表命名,例如:Table("User");不使用该方法时,默认为类名。
2.属性列定义Map(u=>u.username);这里数据表中的属性列默认名字为类的属性,如这里为username。我们也可以这样定义为其他的名字。Map(u=>u.username,"UserID");
3.像一些数据库中的特别属性字段,可以这样定义Map(o=>o.Remarks).CustomSqltype(Nclob);定义为Oracle数据库中的NCLOB类型。
140.5M / 09-05
76.4M / 03-25
55M / 06-05
237.9M / 04-13
900.9M / 03-02
96.2M / 07-06
311.2M / 07-06
335M / 07-06
200M / 07-06
413.8M / 07-06
484.7M / 09-27
165.4M / 09-05
353.9M / 06-05
131.8M / 04-13
195.6M / 03-03
45.6M / 09-08
665.2M / 07-06
2.84G / 07-06
93M / 07-06
338.3M / 07-06
1.38G / 07-26
488.3M / 07-16
109.8M / 06-03
142M / 01-08
1.2M / 11-23
548.8M / 04-13
1.6M / 04-13
1.48G / 03-18
646.6M / 03-03
133.7M / 03-03
110.5M / 09-05
33.4M / 09-05
325.8M / 08-12
60M / 04-29
254M / 04-25
659M / 04-23
1M / 12-26
253.4M / 12-08
253M / 12-08
1.19G / 11-16
369M / 09-22
181.5M / 09-22
201.2M / 09-05
488.3M / 07-16
248.9M / 12-08
248.9M / 12-08
100.6M / 03-06
148.9M / 03-06
1.12G / 07-06
1.25G / 07-06
126.7M / 02-04
1.76G / 09-22
1.92G / 04-17
201.5M / 04-13
7.31G / 07-01
94.3M / 07-06
2.48G / 07-06
7.63G / 07-06
1M / 07-06
778.1M / 07-06
561.8M / 07-11
72M / 07-06
548.7M / 07-06
1.00G / 07-06
9.13G / 07-06
126.2M / 07-06
72M / 07-06
105.1M / 07-06
132M / 07-06
132M / 07-06