SubSonic3.0.0.4.3源码包与调用Dll

简介:

版本修改历史

3.0.0.4.3版修复了下面问题:

修正多表关联查询时,使用左关联和右关联出错问题
修正DbDataProvider.cs类的ToEnumerable函数打开数据库链接后没有关闭的问题
添加执行存储过程返回DataTable函数
添加了黑头(http://www.cnblogs.com/heitou/)关于SubSonic执行速度优化代码(两种方法提升subsonic ORMapping的速度),执行速度比原版提高了2至3倍

另外T4模版的数据库存储过程模版(StoredProcedures.tt)做了小修改,将原来必须New出来的方式修改为静态函数,使用SP.存储过程名称 来调用,将原来可以指定不同数据源的方法删除(主要是真正使用多数据库的朋友比较少,就没必要那么做了,如果你需要支持多数据库的话,可将SP改为不同的数据库名称即可)
由于有的朋友数据库表会比较多,所以将生成的数据层实体模版与其他的一些模版都改为按表名称文件名方式分别存储,避免Debug时可能会由于代码行过长调试超时或出错的问题

3.0.0.4.2版修复了下面问题:
添加了Mr.Tom整理的生成实体加说明功能,并修正了字段注释中存在换行时出错问题
修正了在数据库表名加了s,而生成模版自动去掉s的问题
修改了对数据表进行添加或修改操作时,没有赋值的字段也会同步更新的问题(即实体中某个字段并没有对其进行赋值,进行新增操作时,我们需要数据库中自动使用默认值,但实际操作却会将空内容更新到数据库中,并没有使用默认值;进行修改操作时,则会使用内容覆盖原有内容)
修改了数据库字段名称由于是关键字而产生的异常
其他一些小问题的修改

将T4模版的数据库结构结构模版拆分为两个,原Structs.tt模版生成的数据表调用名改为“表名+Structs”,主要给其他模版调用,新增了EntityTable.tt模版,主要用于开发过程中,要使用到表名或字段名时,可以使用本模版生成的类来调用,减少硬编码


3.0.0.4.1版修复了下面问题:
1、Structs.tt模版生成时,没有给PropertyName属性赋值引起的空指针异常(System.NullReferenceException异常)
2、使用SubSonic.Query.Select和SubSonic.Query.SqlQuery查询时,设置了Top属性后,产生的“未处理InvalidOperationException异常(关键字'TOP'附近有语法错误)”Bug
3、生成的表名自动加复数(s)产生的“用户代码未处理SqlException,对象名'xxxs'无效”异常
4、使用SubSonic.Query.Select和SubSonic.Query.SqlQuery查询时,字段类型为tinyint时列丢失问题的Bug修复
5、为SubSonic.Query.Select和存储过程查询添加更多的执行功能(返回内容)

至于使用Json反序列化获得的实体进行更新操作时,只能执行添加而不能执行修改(编辑)操作的问题,这种操作问题的修改,我想应该比较少人使用,所以就不加到代码中,如果有需要的用户请登陆我的博客对着修改就可以了。

 






    本文转自 AllEmpty 博客园博客,原文链接:http://www.cnblogs.com/EmptyFS/p/3617687.html,如需转载请自行联系原作者


相关文章
|
Linux
LINUX CUPS下载源码并编译
LINUX CUPS下载源码并编译
488 0
有个库 snbcg ,加了宽字符版,lib和dll更名成snbcgu.lib snbcgu.dll
有个库 snbcg ,加了宽字符版,lib和dll更名成snbcgu.lib snbcgu.dll
Window 命令行查看 EXE或者DLL的依赖库
Window 命令行查看 EXE或者DLL的依赖库
920 0
vs2013 生成dll /lib,和调用dll库方法
vs2013 生成dll /lib,和调用dll库方法
398 0
vs2013 生成dll /lib,和调用dll库方法
|
Unix Linux Shell
怎么样在Windows下使用Make编译Golang程序
怎么样在Windows下使用Make编译Golang程序
1767 0
|
C++ Windows API
C++ 调用lib 和 dll的 方法 及 动态库DLL与静态库lib的区别
C++ 调用.lib的方法: 一: 隐式的加载时链接,有三种方法     1  LIB文件直接加入到工程文件列表中   在VC中打开File View一页,选中工程名,单击鼠标右键,然后选中"Add Files to Project"菜单,在弹出的文件对话框中选中要加入DLL的LIB文件。
4666 0
|
Linux
LINUX下载编译ffmpeg(doubango)
LINUX下载编译ffmpeg(doubango)
170 0
CMake教程5:可执行程序调用lib
CMake教程5:可执行程序调用lib
386 0
|
SQL Ubuntu Go
go在ubuntu交叉编译windows应用.cgo错误
交叉编译cgo项目是出了名的困难,也是众所周知的GoReleaser的limitation。我建议您查看一下cgo cookbook,如果您还没有这样做的话。
1489 0
|
Unix Linux Windows
Linux qtcreator引用动态库.pro文件
Linux qtcreator引用动态库.pro文件
434 0