摘要: 最近用Entity Framework开发项目过程中,发现linq查询返回的结果,与SQL语句查询出的结果不一致。问题表现为:SQL返回了我们期望的结果,但是LINQ查询出来的结果确是一些重复记录。这种问题一般是对数据库视图进行查询时发生,问题产生的原因及现象如下:1)使用.net 的linq to sql,或linq to entities 生成的实体对象,出于为提高效率等原因,会对每个对象自动判断出一些列做为实体对象的Key(EntityKey),这个Key就是相当于我们表中的主键,查询结果时,会根据这个Key列的值进行判断,假设数据库中有视图View1有3条记录如下:====View1= 阅读全文
posted @ 2014-03-28 18:57 天才射手 阅读(969) 评论(1) 推荐(0) 编辑
摘要: Linq to Entities中使用Aggregate语句时,需要先将数据从数据库中需要使用AsEnumerable()方法将数据从数据库中获取出来,以便于操作数据,否则Aggregate语句中的string.Format、三元运算符等无法识别。下面是使用Aggregate将多行结果返回成一个字符串的语句:1 string emergencyContacts =2 entitis.PilotEmergencyContactInfoRecord.Where(3 t => t.WasincJobApplica... 阅读全文
posted @ 2014-03-24 11:25 天才射手 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 这两种条件放置的位置不同很容易让人造成混淆,以致经常查询出莫名其妙的结果出来,特别是副本的条件与主表不匹配时,下面以A,B表为例简单说下我的理解。首先要明白的是:跟在ON 后面的条件是对参与左联接的数据进行筛选,即在左联接之前起作用。跟在WHERE后的条件是对左联接得到的结果集进行筛选,即在左联接之后起作用。我直接把我的结论发出来,建议朋友们自行测试一下,下面是结论:1) 如果条件是由主表和副表之间的字段构成,那么放在ON后与放在WHERE子条件中所得到的结果是一样,即这种条件可以随便放,甚至在SQL中建视图时,会自动优化放到ON条件后。如下:select * from A LEFT OUTE 阅读全文
posted @ 2014-03-12 11:32 天才射手 阅读(6723) 评论(1) 推荐(1) 编辑
摘要: 工作中一个比较常见的需求,要求将某个Url地址的内容转换为PDF文件,在网上查找无数文章后,发现目前最简单实用且效果很不错的就是采用Wkhtmltopdf.exe程序来转换。安装此程序后,有二种方式使用(本人的环境是Windows7,vs2010,wkhtmltopdf.exe是windows32位):1.在VS2010中,可以使用Nuget搜索安装Wkhtmltopdf插件到项目中,然后调用相应的方法,如下控制台程序代码: 1 static void Main(string[] args) 2 { 3 Console.InputEncoding = E... 阅读全文
posted @ 2014-01-22 10:52 天才射手 阅读(5991) 评论(0) 推荐(0) 编辑
摘要: 最近在新的环境上开发,编写分布式的代码时(Using(TransactionScope ts = new TransactionScope())),遇到“基础事务管理器的通信失败。“这个错误,参考了网上各种资料进行了各种疯狂的设置,都没办法解决,包括使用用微软Dtcping.exe程序测试通过后,运行代码后居然还是会爆这个错误,差点崩溃。最后权宜的解决办法是,将C:\windows\system32\MSDTC.exe程序加入到系统的"允许程序或功能通过防火墙"清单中,换句话说,就是把防火墙关了,程序可以成功执行。这种办法可能会造成安全隐患,还是希望有高人能指点下。 阅读全文
posted @ 2014-01-10 10:21 天才射手 阅读(606) 评论(0) 推荐(0) 编辑
摘要: 由于有个项目最近使用Paypal支付,打开的页面语言出现了一些问题:如果支付者的IP在中国的话,即便支付者的操作系统为英文的,打开的Paypal支付页面仍然跳转到中文的页面,且此页面上没有语言版本切换功能,给给在中国支付的外国用户造成了比较大的麻烦。如果是英语国家的IP,页面会是英文的,这倒不会有问题,由此推断paypal会根据用户IP地址自动跳转相应的语言版本页面。所以如果比较紧急,可以让老外临时使用VPN更换成国外IP地址后进行支付。下面说下解决办法,咨询Paypal公司后问题得到了解决,答复如下: 如果项目集成的是快速支付版本的话:增加参数 如果项目集成的是标准支付版本的话:增加... 阅读全文
posted @ 2013-11-07 15:30 天才射手 阅读(718) 评论(0) 推荐(0) 编辑
摘要: 前台: ... 阅读全文
posted @ 2009-03-09 15:01 天才射手 阅读(945) 评论(0) 推荐(0) 编辑
摘要: string.Empty就相当于"" 一般用于字符串的初始化 比如: string a; Console.WriteLine(a);//这里会报错,因为没有初始化a 而下面不会报错: string a=string.Empty; Console.WriteLine(a); 或者用于比较: if(a=="") if(a==string.Empty) ... 阅读全文
posted @ 2009-02-18 11:15 天才射手 阅读(1012) 评论(1) 推荐(0) 编辑
摘要: I'm sure I will make great progress here. A new day has come! 阅读全文
posted @ 2008-12-23 09:25 天才射手 阅读(145) 评论(0) 推荐(0) 编辑