随笔分类 - .NET Solution
.NET Solution
摘要:前面两篇文章已经展示了Data Solution的设计目标和为达到此目标而设计的应用程序,这一篇继续细化对它的介绍,讲解Data Solution如何对文件进行扫描,转换,存储,检索。本机磁盘的文件格式通常是doc/docx,pdf,pst/ost/eml,htm/mht,txt/rtf,这几种格式...
阅读全文
摘要:在上一篇文章《知识管理系统Data Solution研发日记之一 场景设计与需求列出》中,提到了诸多的需求。这一篇文章来看一下,完成这些功能,所需要的软件。这些程序均已经写好,以C#.NET和SQL Server 2005完成。先看一下软件Data Solution的体系。Data Solution...
阅读全文
摘要:在平时开发的过程中,经常会查找一些资料,从网上下载一些网页,压缩格式文件到自己的电脑中,然后阅读。程序有别于其他行业的一个特征是,所有的资料,数据,压缩文件,只用于产生可以工作的代码,这才算达到目的,解决问题。再漂亮的文档,源代码,如果没有解决问题,产生代码,这样的搜索也是失败。一般在解决问题之后,...
阅读全文
摘要:随着工作年龄逐渐增加,身边的重担也越来越多。以前可以在公司加班到晚上10点,现在不行了。以前可以通宵的找bug,翻阅资料,现在想这样也没有机会了。做软件逐渐成为工作的主要部分,而渐渐从生活的主角退化出来。自从生活中有了家庭,随时要为家人考虑,和他们度过有意义的时光。可是,家庭的责任重担全落在自己身上,工作不仅仅要完成,而且要有进步,这样才能维持现有的开支。在这样一个时代,你要静下心来安心专注工作,...
阅读全文
摘要:对于Script.NET,我已经写了三篇文章来介绍它,文章汇总如下 .NET 动态脚本语言Script.NET 入门指南 Quick Start .NET 动态脚本语言Script.NET 开发指南 .NET 动态脚本语言Script.NET 应用举例 希望这三篇文章能帮助你了解Script.NET。 下面的例子,继续讲解它的应用。 发送邮件 Send Email mailObj...
阅读全文
摘要:近两年看到很多介绍WCF分布式开发的文章,很少看到有深入介绍.NET Remoting开发的文章,似乎Remoting技术逐渐从大众的视野中消失了一样。自从2005年发布这个名称为Indigo的技术以来,WCF逐渐成为.NET分布式开发的事实标准。然后微软没有推崇和更新的技术,像我们这样的第三世界国家,唯微软马首是瞻,也纷纷转向WCF技术的实践与开发。近期看到世界对SilverLight技术前展的...
阅读全文
摘要:删除一笔记录 Object].Delete() 下面的代码,删除FirstName为Tim,LastName为Brown的学生 DataManager dm = new DataManager(Config.Dsn);dm.QueryCriteria.Clear();dm.QueryCriteria.And(JoinPath.Student.Columns.FirstName,”Tim”) ...
阅读全文
摘要:DataManager.New[Object] 创建数据记录 下面的代码片断创建一笔学生记录,然后把它保存到数据库中。 DataManager dm = new DataManager(Config.Dsn);//assign a new object referenceStudent s = dm.NewStudent();s.FirstName = “Mike”;s.LastName = ...
阅读全文
摘要:Lookup表 在ORM.NET Object Browser中指定表是lookup表,如下图所示 Lookup表明此表的数据是只读的,不会生成任何的新增,删除对象方法(Add[Object], New[Object], or Delete[Object]),列的属性也不包含Set属性。因此,Lookup表是用来表示static的数据,不会发生变化的数据。这样,ORM.NET框架会cac...
阅读全文
摘要:这一节讲解如何使用ORM.NET提供的接口,显示数据,包括分组,排序 DataManager.Get[Object] Get[Object]Collection Methods 这是获取数据的主要方法,从名字中可以看出,GetObject是获取一个实体,GetObjectColletion是读取几行记录,以获取一个实体集合。使用模式如下 Object object = DataMana...
阅读全文
摘要:这篇文章讲解如何使用ORM.NET读取数据。 请看生成的TestApp的代码 static void Main(string[] args){ // // TODO: Add code to start application here // DataManager dm = new DataManager(Config....
阅读全文
摘要:ORM.NET是一个开源的ORM工具,用它来替代ADO.NET访问数据库,快速,方便,当前的版本是1.7。 这篇入门教程将引导如何用ORM.NET开发数据库类型的应用程序。 1 创建数据库 Create your database schema ORM.NET是数据库驱动的(database-driven)的ORM开发工上具,请先用SQL Enterprise Manager...
阅读全文
摘要:继续前面的两篇文章的动态脚本语言主题《.NET 动态脚本语言Script.NET 入门指南 Quick Start》和《.NET 动态脚本语言Script.NET 开发指南》,继续学习Script.NET的应用。 类型定义 type definition Script.NET不是OOP的语言,但可以借助于属性(property bags)来模拟类型定义。 vector = [ x -> 4...
阅读全文
摘要:前一篇文章介绍了《.NET 动态脚本语言Script.NET 入门指南 Quick Start》的基础知识,这一篇文章继续介绍Script.NET开发相关的内容。 Script.NET IDE Environment 以前提到的书写Script.NET脚本的方式,在Visual Studio中书写代码,然后以调试的方式运行代码。这种方式适合于对Script.NET不熟悉,或是发生了不可理解的错...
阅读全文
摘要:Script.NET是一种动态的脚本语言,它使得程序可扩展,可定制,和维护性好。和Office系列的VB Script相似,可以在应用中嵌入大量的代码块,以便在运行时才执行这些代码。 Script.NET的设计理念是:简单(simplicity),有效率(efficiency),容易上手(intuitive)。先通过例子,来做一个基本的了解。 using System;using System...
阅读全文
摘要:这篇文章起源于我的LLBL Gen 3.x ORM源码追踪系列教程,有以下几篇文章 LLBL Gen 3.x 源代码追踪与解析 认识框架结构 LLBL Gen 3.x 源代码追踪与解析 Type Converter 类型转换器 LLBL Gen 3.x 源代码追踪与解析 存储过程的执行 LLBL Gen 3.x 源代码追踪与解析 查询命令的追踪 LLBL Gen 3.x 源代码追踪与解析...
阅读全文
摘要:经过多年的编程经验的积累,工作中肯定会遇到很多问题,也都通过各种办法解决了。无论是上网搜索,或是向同事寻求帮忙,在遇到问题时,都会把这个系列的问题的网页都保存起来,以便以后查找起来方便。这样,随着时间的积累,知识库的内容会越来越多,如何整理这些文件,方便查找,一直是工作之外努力的方向。 曾经用EverNote建立各种知识库,如下图所示,定期抽出时间,在网上搜索,看到好的文章,都剪贴下来 几个月下...
阅读全文
摘要:Reflector是.NET开发中必备的反编译工具。即使没有用在反编译领域,也常常用它来检查程序集的命名规范,命名空间是否合理,组织类型的方法是否需要改善。举例说明,它有一个可以查看程序集完整名称的功能,请看下图 这里的Name,是标识一个程序集的完整标识,当GAC中存在程序集的多个版本时,这个名称是唯一的识别名称。 但是,Reflector很早就转向收费软件了,需要购买许可才可以使用。对于耻于...
阅读全文
摘要:工作多年,一直是.NET实践派的代表,没有过多的空洞理论,只谈实作技巧,把技术,知识,工具结合起来,给自己的生活多一点改变,提高产生效率。前面一个话题,《工作多年后才明白的.NET底层开发技术》都觉得反射的例子太过于肤浅,不过瘾,那么这个题材的反射例子,可能不会让你失望。 这个主题来源于我开发带智能提示的模板编辑器的过程,请看下面的例子程序。先说目的,我要达到在模板中敲入Math变量时,可...
阅读全文
摘要:ORM工具开发系列的代码生成工具的开发,接上回,继续来设计基于模板的代码生成器。 模板编辑器 Template Editor 编辑器的基本要求是,文件编辑(Copy,Cut,Paste,Find/Replace)功能,语法高亮显示,智能提示。 对于.NET系统的内置类型,可以预先加载,并提供智能提示功能。 如图所示,可以直接引用系统内置的类型,在编辑模板时,会自动调出智能提示窗口。 ...
阅读全文