posts - 88, comments - 303, trackbacks - 10, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

2012年4月22日

摘要: 在Ado.Net中,DbConnection类的GetSchema方法用于获取数据库提供者的相关架构信息,比如数据类型、表、列等等,然而每种数据库架构的元数据结构都是不一样的。Fireasy.Data提供了一个扩展服务接口,以将四类数据库的架构信息整合在一起,统一定义了最大公有的架构元数据,并在此基础上提供Linq查询的支持。 一、架构元数据的接口 由于要使用统一的查询,因此需要定义一个标识接口,然后使不同的架构元数据类来实现它。///<summary>///数据库架构元数据结构。///</summary>publicinterfaceISchemaMetadata{}阅读全文

posted @ 2012-04-22 00:28 faib 阅读(288) 评论(0) 编辑

2012年4月19日

摘要: 前面已经介绍了,IProvider提供了一种插件式的服务接口,能够将一些扩展的功能附加在提供者中,因为IProvider由IDatabase所引用,因此,只要有IDatabase,就能够获得所有的扩展功能,那么本篇将介绍一下这些扩展服务如何与IProvider一起工作。 首先看一下IProvider接口的定义:///<summary>///为不同的数据库类型提供创建工厂及插件服务。///</summary>publicinterfaceIProvider{///<summary>///获取提供者类型。///</summary>ProviderTy阅读全文

posted @ 2012-04-19 00:54 faib 阅读(331) 评论(0) 编辑

2012年4月18日

摘要: 在之前只知道SqlServer支持数据批量插入,殊不知道Oracle、SQLite和MySql也是支持的,不过Oracle需要使用Orace.DataAccess驱动,今天就贴出几种数据库的批量插入解决方法。 首先说一下,IProvider里有一个用于实现批量插入的插件服务接口IBatcherProvider,此接口在前一篇文章中已经提到过了。///<summary>///提供数据批量处理的方法。///</summary>publicinterfaceIBatcherProvider:IProviderService{///<summary>///将<阅读全文

posted @ 2012-04-18 23:39 faib 阅读(588) 评论(0) 编辑

摘要: Fireasy.Data的一个主要接口是IDatabase,这个与网上流传的SqlHelper差不多是完成一样的操作。不过,在IDatabase中只提供了几个高内聚的方法,你不必去传递那些DbCommand和DbParameter。不同的数据库类型,都提供实现IProvider接口的类,来指定DbProviderFactory,以及各种的IProviderService组合来实现更多的功能。 下面先来看一下有关IDatabase及周围的一些接口组合: 1、IDatabase接口 在Fireasy.Data中,IDatabase是最底层的接口,它提供了以下几个属性和方法: Connection.阅读全文

posted @ 2012-04-18 21:49 faib 阅读(1072) 评论(2) 编辑

2011年11月11日

摘要: 在上一篇中我曾提到过要组建实体框架,不管我的出发点是好还是坏,我总算把它做出了一个雏形,并且已经能够加入到项目中使用了,当然还有许多的事情要处理,也需要更多的实例验证,才能不断的完善。阅读全文

posted @ 2011-11-11 00:25 faib 阅读(1691) 评论(2) 编辑

2011年10月1日

摘要: 这个想法已经有很长一段时间了,并且目前已经有一个雏形的版本了,我暂定它为Fireasy.Data.Entity。 我先说一说我的想法,实体的映射将采用依赖属性的方式进行定义,这样可以避免使用反射进行实体的初始化,而且也比较实现其他代码的切入。 在这个框架里,还是提供了引用实体和实体集的概念,它们也可以通过lazy加载进来,另外,还设计一个支持枚举的属性和一个同步属性。 另外,根据实际项目的需要,还会将同一个实体根据不同的规则映射多个不同的数据表,以提供数据分布式和隔离式存储。还会提供一个树结构的映射及相应的持久化类,以达到快速应用。 实体的继承特性将在下一期进行考虑。 以下是实体类的代码示例.阅读全文

posted @ 2011-10-01 17:38 faib 阅读(1823) 评论(6) 编辑

摘要: 自己写的一个将对象序列化为json的扩展方法。阅读全文

posted @ 2011-10-01 08:01 faib 阅读(348) 评论(1) 编辑

2011年9月7日

摘要: ReSharper是一个强大的VS扩展工具,但由于它是英文版的,因此在使用过程当中不免被它折磨几次(可能是由于本人英文不是很好),以下是鄙人的一些经历:1、F12转到定义 安装ReSharper后首次使用F12时,它会弹出一个对话框,是什么样子不记得了,大概意思是让你选择使用何种方式转到定义。因于是第一次使用,我并不知道它每项的能够获得的效果,所以我蒙过去了。按下F12时,mygod,它要连接下载 XXX.pdb 文件,能够看到元数据就不用说了,它竟然没有任何的注释,远远没有VS的好用。于是乎,我在ReSharper选项里翻爬,最终找到了它的设置方法。2、修改js时,按回车出来 foo fo.阅读全文

posted @ 2011-09-07 13:59 faib 阅读(178) 评论(0) 编辑

2011年7月20日

摘要: 你懂的,直接上文件下载阅读全文

posted @ 2011-07-20 14:04 faib 阅读(1158) 评论(15) 编辑

2011年6月28日

摘要: 设计思想主要参考了fireworkflow,但是结合实际业务进行了多项改进阅读全文

posted @ 2011-06-28 00:02 faib 阅读(729) 评论(1) 编辑

2010年12月23日

摘要: 经过反反复复的修改,今天终于发布了CodeBuilder 1.1.10.1222版本。阅读全文

posted @ 2010-12-23 00:15 faib 阅读(633) 评论(4) 编辑

2010年4月22日

摘要: 代码生成器CodeBuilder阅读全文

posted @ 2010-04-22 07:57 faib 阅读(375) 评论(5) 编辑

2010年1月28日

摘要: CodeBuilder中的Template.FbBase是一个基于xml语法的基础模板,主要由defkeys、functions、parts、sections构成。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?xmlversion="1...阅读全文

posted @ 2010-01-28 01:04 faib 阅读(121) 评论(0) 编辑

2010年1月11日

摘要: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->usingSystem;usingSystem.Collections.Generic;usingSystem.Drawing;usingSystem.Windows.Forms;usingFaibC...阅读全文

posted @ 2010-01-11 00:08 faib 阅读(73) 评论(0) 编辑

摘要: ITemplate接口代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->usingSystem.Collections.Generic;namespaceFaibClass.TemplatePackage{///<summary>///模...阅读全文

posted @ 2010-01-11 00:07 faib 阅读(59) 评论(0) 编辑

摘要: ISource接口代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->usingSystem;usingSystem.Collections.Generic;namespaceFaibClass.SourcePackage{///<summary...阅读全文

posted @ 2010-01-11 00:05 faib 阅读(63) 评论(0) 编辑

2010年1月10日

摘要: 一个基于.net 2.0的代码生成器,提供了大量的接口,供使用者进行二次开发阅读全文

posted @ 2010-01-10 23:17 faib 阅读(726) 评论(7) 编辑

2009年10月24日

摘要: 自己做的即将面世的代码生成器阅读全文

posted @ 2009-10-24 00:45 faib 阅读(721) 评论(7) 编辑

2009年9月20日

摘要: 在FaibClass.Data中,有两个AOP的应用,它们分别是实体集更新(DateEntityListUpdate)、延迟加载(LazyLoad),目前的DataEntity继承于ContextBoundObject,刚刚从网上看到ContextBoundObject的损耗非常大,但自己测试了一下,应该说影响不是很大,所以暂时不打算使用静态注入了。 注,两个AOP都采用Attribute--Pr...阅读全文

posted @ 2009-09-20 13:12 faib 阅读(1315) 评论(3) 编辑

2009年9月13日

摘要: 上周参加了公司进行了系统设计师的竞聘,在之前是看了相关的书了,可是一到评测会议的情境模拟环节,怎么就紧张的连问题都不会问了呢,感觉拿到题,头脑里是一片的茫然,然后之后设计出的系统那是相当的糟糕,当时只有一个反应,挂了。 后来想想,这也跟自己的经验太有关系了,之前没有接触过需求分析是什么概念,需要什么技巧。失败了下次再来过,至少经历过,明白自己与这个岗位到底有多大的差距,只有在以后的工作中弥补所需要...阅读全文

posted @ 2009-09-13 01:42 faib 阅读(190) 评论(0) 编辑

摘要: 首先看一下结构:1、简单易用的O/R映射。每个数据表对应一个继承自DataEntity的模型类,并定义表的字段结构,使用Attribute标注主键、外键、子实体集合、引用、枚举转换等属性。数据Model可由提供的代码生成器批量生成。 2、灵活的Database源配置。提供了SqlServer、Oracle、SQLite、OleDB等几种常用数据库的多种配置方法,如xml文件、注册表、二进制文件。可...阅读全文

posted @ 2009-09-13 01:27 faib 阅读(301) 评论(1) 编辑

2009年8月23日

摘要: 原创:使用AOP方法动态调用WebService阅读全文

posted @ 2009-08-23 01:30 faib 阅读(2407) 评论(10) 编辑

2009年7月2日

摘要: 最近在做一个小程序,实现的功能是罗列出一个程序集中的所有类、接口、方法、属性等,并从对应的xml文件中读取注释,还可实现注释的修改,增加示例等,还有一个想法就是参生成html文件,并制作成chm文件。阅读全文

posted @ 2009-07-02 11:34 faib 阅读(188) 评论(6) 编辑

2009年6月6日

摘要: 为List实现DataTable类似Select、Compute及Group方法,使用的是动态代码编译阅读全文

posted @ 2009-06-06 20:43 faib 阅读(1456) 评论(0) 编辑

2009年6月5日

摘要: 对DataSource的补充,同样是介绍UTypeEditor,制作自己的集合编辑器阅读全文

posted @ 2009-06-05 19:57 faib 阅读(282) 评论(0) 编辑

2009年6月2日

摘要: 通过两个数据控件 DataProvider及DataSource 来演示控件编辑器UITypeEditor不为人知的高级应用阅读全文

posted @ 2009-06-02 23:13 faib 阅读(360) 评论(1) 编辑

2009年5月15日

摘要: 这里介绍了UltraWinGrid中IUIElementDrawFilter和IUIElementCreationFilter两个接口的使用方法。阅读全文

posted @ 2009-05-15 20:52 faib 阅读(531) 评论(0) 编辑

2009年5月12日

摘要: 提供灵活的权限定义及控制方案阅读全文

posted @ 2009-05-12 22:00 faib 阅读(763) 评论(5) 编辑

2009年5月4日

摘要: 发布软件后,为用户提供在线更新,这样你也省力,用户也省心。阅读全文

posted @ 2009-05-04 23:04 faib 阅读(610) 评论(6) 编辑

摘要: BaseReportForm 使用RDLC定义报表,集数据显示与打印一体,还提供查询功能阅读全文

posted @ 2009-05-04 22:41 faib 阅读(943) 评论(5) 编辑