摘要:
最近在工作中的一个项目使用了一种很小众的数据库:Vertica。小众的东西有很多缺点,比如它的.Netclient没有实现LINQ。而这个项目有大量的读取数据库的操作,之前用惯了LINQ,现在却要回到原始社会,写command,从DbReader里把值读出来,写到对象的属性上,想想就各种不爽:大量的hard code的字段名称,不光容易写错,还容易写漏;赋值时,又要处理null值,又要处理各种数据类型的转换。不光代码写起来麻烦,还要写很多测试来保证这些代码的正确。而在LINQ的帮助下,这一切都是透明的。为了能心情愉悦的完成项目,指望HP能出个LINQ provider是没戏的了,我决定从LIN 阅读全文
随笔分类 - .Net
EntityFramework 4.x 使用中遇到的问题 (2)
2012-04-26 20:01 by FMax, 226 阅读, 收藏,
摘要:
Single(), SingleOrDefault(), First() & FirstOrDefault()的区别先说XXX() & XXXOrDefault()的区别,这个很好理解,无论Single() or First(),当数据源不存在数据时,将会抛出异常。所以多数情况下,我们一般会选用XXXOrDefault()方法。再说Single() 与 First()的区别:当调用Single()方法的时候,生成的sql语句会类似:SELECT TOP 2 .... FROM ...;而First()的sql语句却是:SELECT TOP 1 ... FROM ...。Firs 阅读全文
EntityFramework 4.x 使用中遇到的问题 (1)
2012-04-18 21:34 by FMax, 291 阅读, 收藏,
摘要:
在目前项目里,使用Code First的模式,但数据库已经存在,并且在数据库中并未设立外键关系,但在实体类中定义了实体关系。以上为这次遇到问题的背景。问题:在保存一组数据的时候,提示出现主键重复的问题。相关代码:Dictionary<<Tuple<string, int>, Detail> details = ... // 该数据有方法外部传入if(order.Details != null) // Order对象包含一个Detail对象的列表{ foreach(var d in order.Details.ToArray()) { var key = Tuple 阅读全文
Visual Studio 插件的开发
2011-07-09 11:46 by FMax, 7279 阅读, 收藏,
摘要:
更新下,发现后面没写完. 起因 在做项目的时候,经常需要根据表结构create一些实体类,写多了,实在是觉得无趣,于是就琢磨着做个代码生成工具。当然现在有很多现成的,拿来用就好,可是总想自己弄个出来玩玩,一来是当初用DataSet,VS可以根据一个xsd文件生成那么多代码,可以拖拖拽拽就搞定,一直没闹明白是怎么做的,不甘心,总想弄明白,二来,公司里,数据库的脚本大多是根据一个xml配置文件生成的,... 阅读全文
浙公网安备 33010602011771号