第五空间

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年4月13日

摘要: LINQ&EF任我行(二)--LinQ to Object(原创:灰灰虫的家http://hi.baidu.com/grayworm) LinQ to Objects是LinQ家庭的核心,其它的LinQ也使用了与LinQ to Objects相同的查询句法。最终编译器都是把LinQ句法翻译成扩展方法的链式表达式,同时把扩展方法中的lambda表达式转换成匿名类中的匿名方法,然后再把查询表达式编译成MSIL。 LinQ to SQL、LinQ to DataSets、LinQ to Entities和LinQ to XML则不是把查询表达式转换成MSIL,而是把查询表达式树转换成相应的特 阅读全文
posted @ 2013-04-13 15:29 LearnerYQY 阅读(2918) 评论(0) 推荐(0) 编辑

摘要: 大家都知道Linq既可以用来查询数据库对象(我这里指的是Entity FrameWork里的Model对象),也可以用来查询内存中的IEnumerable对象。两者单独查询时都不会出现什么问题,不过混合在一起时(一般是用关键字来join连接),要注意的地方就多着了。情形1:Linq to Object 连接(join)Linq to Entity我们首先来看这段代码:(注意:Linq代码里是把内存中的数据代码,也就是Linqto object放在join前面,数据库的数据代码放在join后面)[csharp]view plaincopyList<MyObject>objectLis 阅读全文
posted @ 2013-04-13 15:24 LearnerYQY 阅读(8498) 评论(1) 推荐(1) 编辑

摘要: 在上一篇文章中,我介绍了Word的对象模型和一些基本开发技巧。为了更好的介绍Word插件开发,我为本文制作了一个Word书签的增强版,具体功能是让用户在Word中选择一段文本,为它添加书签并其标志为高亮,同时用户可以为这段书签写注释,以后当用户点击这个书签时,我就会显示注释。以下是我录制的视频介绍:这个插件将包括以下几个技术点:添加右键菜单添加右键菜单、控制右键菜单显示WindowBeforeRightClick 事件删除右键菜单修改正文内容、样式修改选定的内容修改选定的样式添加控件添加书签添加超链接添加内容控件(Content Control)基于用户选中内容,执行程序WindowSelec 阅读全文
posted @ 2013-04-13 13:05 LearnerYQY 阅读(8612) 评论(1) 推荐(0) 编辑

摘要: Word Object Model 介绍首先,要开发出良好的程序,我们需要了解我们的开发平台,而Word本身是一个很复查的平台,我在这里先从Word的对象模型开始介绍。Word Object Model中一共包含有数百个不同类型的对象,其中最关键的也是最常用的是Application、Document、Range、Selection和Bookmark,他们的关系如下图:我来依次介绍这几个对象:Application 对象Application代表Word程序,而一个Word程序内可以包含多个Word文档。用通俗的话来说,无论你开几个Word文档,都是在一个Word进程里面管理。这我们以后会讲到 阅读全文
posted @ 2013-04-13 13:02 LearnerYQY 阅读(961) 评论(0) 推荐(0) 编辑

摘要: 我的VSTO之路:序VSTO是微软提供给.Net开发人员的一个接口,通过他我们可以对Office程序做一些处理。但是这个接口并不尽善尽美,相比微软的很多其他产品,VSTO的稳定性并不好,相关的文档也很少。这种情况下,很多问题需要我们程序员自己去克服。我自己从08年进了现在这家公司,断断续续做VSTO开发已经快2年半了,不敢说对VSTO精通,但至少已经有了深入的解,尤其对开发中的一些Trick和一些Bug。准备写点东西记录一下这两年来的心路历程。同时也感慨于国内的VSTO文档资料实在匮乏,我自己在开发过程中走了不少弯路,希望我写的这些文档能对后来的开发者们有所帮助。我喜欢在写文档之前先准备一个提 阅读全文
posted @ 2013-04-13 12:59 LearnerYQY 阅读(1226) 评论(0) 推荐(0) 编辑

摘要: 开始之前,首先我介绍一下我的开发环境:VS2010 + Office 2010,是基于.Net framework 4.0和VSTO 4.0。以下的范例代码都基于这个,如果你使用的是VS2008,那么问题也不大,基本可以移植过去。需要注意的是.Net framework 4.0中增加了dynamic类型和可选参数,而这两点新的特性在VSTO 4.0中被广泛使用,新特性的详细内容我就不介绍了,(其实介绍的地方很多,Google一下就可以了),移植的时候需要稍微调整一下代码。创建VSTO项目环境搭建要开发VSTO项目,环境搭建比较简单,微软这方面做得都做不错。只要安装了VS2010(需要勾选VST 阅读全文
posted @ 2013-04-13 12:57 LearnerYQY 阅读(651) 评论(0) 推荐(0) 编辑

摘要: [为什么写这类文章]漫谈算法(零)序[这系列文章里会用到的一下符号和公式] 漫谈算法(番外篇) 符号标记以及基本数学公式首先解释一下什么是NP问题,什么是NP hard问题,什么是NP完全问题。看下面的图,他们之间的关系表示的比较清楚。P Problem:这个应该最易理解,就是一个问题可以在Polynominal的时间的得到解决,当然,是对于任意input size。NP Problem:对于一类问题,我们可能没有一个已知的快速的方法得到问题的答案,但是如果给我们一个candidate answer,我们能够在polynominal的时间内验证这个candidate answer到底是不是我们 阅读全文
posted @ 2013-04-13 12:55 LearnerYQY 阅读(788) 评论(0) 推荐(0) 编辑

摘要: [为什么写这类文章]漫谈算法(零)序[这系列文章里会用到的一下符号和公式] 漫谈算法(番外篇) 符号标记以及基本数学公式通常我们说到某个算法,我们经常关心他的时间复杂度,当然,我们通常关心的是这个时间复杂度的upper bound,即上界。upper bound告诉我们在某些很糟糕的情况下,我们的算法的性能。比如我们的基于比较的排序算法,我们知道mergesort(归并排序)是O(nlgn),但是我们应该能提出这样的疑问,can we do it better?(我们能做的更好吗?) 所以,在这篇文章里,我们将简单介绍一下对于算法的下界,lower bound,它告诉我们对于某个问题,是否存在 阅读全文
posted @ 2013-04-13 12:54 LearnerYQY 阅读(530) 评论(0) 推荐(0) 编辑

摘要: 上周完成了一个报表小项目,使用开源组件NPOI作为主要组件。之所以采用第三方的开源组件而不使用COM或微软提供的API,原因就不多说了,大家懂的。官方网站:http://npoi.codeplex.com/http://www.cnblogs.com/tonyqus/archive/2009/03/16/1409966.html在此分享NPOI的一个应用,利用Excel模板生成excel文件。这正是NPOI强于Myxls之处。具体步骤如下:一、准备数据USE[MonthReportDemo]GO/****** Object: Table [dbo].[TradeReport] Script D 阅读全文
posted @ 2013-04-13 12:50 LearnerYQY 阅读(2226) 评论(0) 推荐(0) 编辑