摘要: 上一节我们了解了Linq查询大体上是如何运转的,并针对SQL表达式进行建模(DbExpression),这一节的重点在于如何将表达式转换为DbExpression。可以说只要能生成结构清晰的DbExpression,我们的翻译器就已经成功了一半了。为了将表达式转换为DbExpression,我们需要... 阅读全文
posted @ 2014-05-12 15:49 灰机_不会飞 阅读(2729) 评论(4) 推荐(4) 编辑
摘要: 伴随.Net3.5到来的Expression,围绕着它产生了各种各样有趣的技术与应用,Linq to object、Linq to sql、Linq to sqllite、Linq to Anything啊~~各种舒爽不侧漏。当然Expression的应用肯定不会狭隘到只能在Linq查询里,只是它本... 阅读全文
posted @ 2014-05-12 15:46 灰机_不会飞 阅读(2396) 评论(7) 推荐(6) 编辑
摘要: 一直以来都很奇怪为何C#不能直接支持函数返回值重载, 比如如下两个函数是编译不过的 Public Class DbHelper { Public Static int ExecuteScalar(); Public Static string ExecuteScalar(); }今天看到了装配脑袋的这篇博文,里边就实现了我要的效果,而且语法很优美,让我们来拜读一下。 知识点预习 Implicit 关键字用于声明隐式的用户定义类型转换运算符。如果可以确保转换过程不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换。也就是提供类似 decamil money = 9 ... 阅读全文
posted @ 2014-01-01 17:20 灰机_不会飞 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 这个问题一般有两个版本1.当前不会命中断点,还没有为该文档加载任何符号。2.当前不会命中断点,源代码与原始版本不同。要解决第一个问题,就要了解一种文件格式“PDB(Program DataBase)”,我们在给一个.Net程序集设置断点的时候,所有的调试信息都存放在这个文件,这里不打算深入探讨它,只需要知道它描述了我们程序集的断点,要调试程序就得加载它就够了.那么第一个问题的描述我们可以看成是没有加载到PDB文件或者加载失败了,解决方法是在程序调试时,使用Visual Studio的 调试》窗口》模块 查看当前程序加载的所有模块,找到你要调试的模块,右键菜单中就有一个加载符号的选项,选择对应的 阅读全文
posted @ 2013-10-14 14:18 灰机_不会飞 阅读(20880) 评论(9) 推荐(5) 编辑