在调试程序时,同事发现添加记录时,出现了System.NullReferenceException异常 DictBase dict = new DictBase();    dict.DictCode = "aaa";    dict.DictName = "bbb";    dict.Save(); 而自己在编写查询Information info = new Information(x => x.Id == 1);  时,也引发了同样的异常,经Debug发…
早上在编写执行用例时,突然爆异常System.NullReferenceException: 未将对象引用设置到对象的实例 执行代码:…
版本修改历史 3.0.0.4.3版修复了下面问题: 修正多表关联查询时,使用左关联和右关联出错问题修正DbDataProvider.cs类的ToEnumerable函数打开数据库链接后没有关闭的问题添加执行存储过程返回DataTable函数添加了黑头(http://www.cnblogs.com/heitou/)关于SubSonic执行速度优化代码(两种方法提升subsonic ORMapping的速度),执行速度比原版提高了2至3倍 另外T4模版的数据库存储过程模版(StoredProcedu…
================================================================ 名    称:SubSonic插件版    本:3.0.0.4.2最后更新:2013-8-30官    网: http://www.subsonicproject.com/ BUG 修改:Empty(AllEmpty)Email:   1654937@qq.com学习讨论:SubSonic3.0学习群(327360708)相关博客:http://www.cnblogs…
================================================================ 名    称:SubSonic插件版    本:3.0.0.4.1最后更新:2013-8-10官    网: http://www.subsonicproject.com/ BUG修改:Empty(AllEmpty)Email:   1654937#qq.com学习讨论:SubSonic3.0学习群(327360708)相关博客:http://www.cnblogs.…
由于目前开发的项目使用云计算技术,客户端只进行UI与相关事件的功能开发,而所有的计算与处理都放到了服务器端,客户端与数据库没有任何关联,所以服务器端与客户端使用我们自己开发的通讯加密方式进行,而具体的数据内容传输就转成Json方式.客户端对数据进行添加与修改操作时,先将内容存储到实体中,然后转换成Json字串进行压缩加密处理后提交到服务器端,服务器端接收到后进行解压解密处理后,对Json字串进行反序列化处理存储到对应的实体当中,然后再进行相应的操作. 在开发框架时还没有什么问题,而进行具体的功能…
今天在开发时,要使用到外连接查询,如图 老是查不出数据,所以就追踪了一下代码,发现查询后生成的SQL语句变成了内连接了,真是晕 然后继续Debug,发现原来SqlQuery类在调用LeftInnerJoin函数时传入的Join.JoinType.LeftInner参数,并没有被CreateJoin函数使用上,如下图 所以赶快修改为type,见图 心想应该可以了吧......继续执行程序,发现还是没有查询出数据来~~~真是郁闷......继续Debug,发现SQL语句还是有问题,见图 语句中多了一…
SubSonic3.0插件在创建实体后,对实体进行赋值操作时,为了去除一些不必要更新的字段,减少更新的内容,会将更新内容与默认值进行比较,如果默认值与当前更新的内容相等时,则不提交更新本列,这主要是为新增记录时设置的,因为本列虽然不进行更新,但由于数据库里存在默认值,所以提交后数据库会自动判断使用默认值进行填充. 比如数据库有表Test,有字段StatusName nvrchar(10), StatusId int,默认值为0,正常新增记录语句为 insert into Test (Status…
下午在写代码时,突然发现一个列名为Enable的字段怎么也查询不出来,开始以为可能这个名称是关键字,所以给过滤掉了,所以就将名称修改为IsEnable,问题还是一样......将名称又改为IsEnables和IsPost结果还是查询不出来...... 所以开启了DeBug调试,逐步跟踪程序在SubSonic3.0插件中的执行情况,发现在一开始时,这个字段是读取出来了,但莫明其妙的不见了,反复跟踪了好几次后才发现,是因为这个字段类型为tinyint时,在C#中是转为byte类型的,而插件在添加查询…
有个群友问SubSonic3.0执行存储过程时能不能使用output参数返回值,说测试过后获取不到返回值,早上有些时间所以就尝试修改了一下 首先在数据库中创建一个存储过程 CREATE PROCEDURE [OutValue] @a int, @b int, @c int output AS Set @c = @a + @b GO 打开Settings.ttinclude模板,找到SPParam类,修改为下面代码 public class SPParam{ public string Name;…