[Gentle.Net]通过自己改造模版,添加字段信息,实现泛形列表
最近的项目一直在用Gentle.net做OR/Maping的,但是Gentle有两个弱点,一直耿耿于怀。
一、直到最新版本1.29,Gentle仍然没有实现对泛形的支持,看来只能等2.0版本出来后才有此功能,但是看他的RoadMap,恐怕还早了!以前用.Net 1.1版写程序,只能用GentleList,通过强制转换实现从List中取出一个实体对象,但是这就损失了编译期检测的方便性!如今,已经使用.Net 2.0这麽久了,再使用这样的方法,总感觉不是很爽。
二、另外,还有一个缺点,那就是拼Sql语句的时候,字段名只能手动写[当然,这只是据我所知],这就要求写程序还必须熟知数据库的结构,这也与Or/Maping的目的相驳,一段时间内一直在琢磨着怎麽解决这个问题。
这些日子,终于有时间耐心的研究了一下MyGeneration的模版,自己动手改造了一下模版,基本实现了这两个功能。眼下,使用我改造后的模版生成的实体类有如下特点:多结果查询返回的是泛形的List<>;每个生成的实体类中,都添加了一个嵌套的信息类Columns,Columns类之下是DataColumn类型的以字段名为名称的属性,这样就可以通过xx.Columns.xxField.ColumnName来访问一个字段的名称了。
本文是笔者使用Gentle.Net的一点心得,希望起个抛砖引玉的作用,和诸位大虾交流下。如果那位需要我的模板,可以留下Email,我把模版发给你,不过,改得很粗糙,您看后不要拍我啊!
由于经常有网友索要,特在此提供下载:
已改造的Gentle.net模板
一、直到最新版本1.29,Gentle仍然没有实现对泛形的支持,看来只能等2.0版本出来后才有此功能,但是看他的RoadMap,恐怕还早了!以前用.Net 1.1版写程序,只能用GentleList,通过强制转换实现从List中取出一个实体对象,但是这就损失了编译期检测的方便性!如今,已经使用.Net 2.0这麽久了,再使用这样的方法,总感觉不是很爽。
二、另外,还有一个缺点,那就是拼Sql语句的时候,字段名只能手动写[当然,这只是据我所知],这就要求写程序还必须熟知数据库的结构,这也与Or/Maping的目的相驳,一段时间内一直在琢磨着怎麽解决这个问题。
这些日子,终于有时间耐心的研究了一下MyGeneration的模版,自己动手改造了一下模版,基本实现了这两个功能。眼下,使用我改造后的模版生成的实体类有如下特点:多结果查询返回的是泛形的List<>;每个生成的实体类中,都添加了一个嵌套的信息类Columns,Columns类之下是DataColumn类型的以字段名为名称的属性,这样就可以通过xx.Columns.xxField.ColumnName来访问一个字段的名称了。
本文是笔者使用Gentle.Net的一点心得,希望起个抛砖引玉的作用,和诸位大虾交流下。如果那位需要我的模板,可以留下Email,我把模版发给你,不过,改得很粗糙,您看后不要拍我啊!
由于经常有网友索要,特在此提供下载:
已改造的Gentle.net模板