Teddy's Knowledge Base

置顶随笔 #

[置顶]NBearLite PetShop 4.0示例源码

     摘要: 该示例使用NBearLite v1.0.1.2,基于.Net PetShop 4.0的源码修改。使用NBearLite重写了等价功能的BLL、Profile、Membership模块的数据访问部分,去除了DALFacrory、IDAL等工程(因为基于NBearLite可以透明的在多种数据库源间进行无缝切换,无需修改代码),去除了Order的基于MSMQ的异步处理部分。本示例演示了使用NBearLite作为数据访问组件进行开发的常用方法。Web工程的Web.config中默认关闭了CaceDependency,并设置了Sqlite为默认数据库。  阅读全文

posted @ 2008-01-09 14:44 Teddy's Knowledge Base 阅读(3625) | 评论 (33)编辑

[置顶]发布NBearLite中文版完全参考手册 + NBearLite 10分钟入门教程 + NBearLite v1.0.0.7 beta

     摘要: NBearLite是一个.NET 2.0开源(BSD协议)通用数据访问组件,支持SQL Server、Oracle、MS Access,MySQL,SQLite,PostgreSQL等多种数据库的透明切换(改变数据库类型时无需修改具体的查询代码)。NBearLite实现了一套类似LINQ的强类型数据库查询语法(支持从简单的CRUD查询到GroupBy、InnerJoin,Paging,SubQuery等常用复杂查询)。NBearLite提供的代码生成工具还可以为您自动生成所有的存储过程调用包装代码,可以让您像使用一个.NET类的方法一样访问存储过程(支持SQL Server,Oracle,MySQL,PostgreSQL数据库)。

NBearLite不是一个ORM工具,它不涉及实体类,NBearLite的所有查询返回Scalar/DataSet/IDataReader等ADO.NET原生数据类型。

推荐在使用NBearLite的同时结合使用NBearMapping进行IDataReader/DataRow数据类型和自定义.NET类(如:实体类或业务类  阅读全文

posted @ 2007-07-29 15:12 Teddy's Knowledge Base 阅读(7610) | 评论 (19)编辑

[置顶]YetAnotherForum.Net+ScrewTurn Wiki中文完美汉化增强版(07-16更新:升级到v1.2.3 新增显示论坛版主信息,修复Wiki中文搜索)(GPL协议源码发布)

     摘要: 本程序是Teddy为更方便的收集整理各种育儿知识,准备架一个育儿论坛+Wiki网站5JBB.COM,而对YetAnotherForum.Net最新的version 1.9.1 RC1 (NET v2.0) - 2007-5-16版本和ScrewTurn Wiki最新的version 2.0.11 - 2007-7-3版本做的汉化,整合,Bug修复和功能增强。这里将完整的程序源码共享给大家,这是真正免费(GPL协议),功能强大、稳定的ASP.NET 2.0中文论坛+Wiki程序哟!

谨以此程序献给我的宝贝女儿笑笑和所有初为新爹新妈的程序员朋友~~  阅读全文

posted @ 2007-07-12 15:14 Teddy's Knowledge Base 阅读(6572) | 评论 (106)编辑

[置顶]基于NBear的快速开发解决方案

     摘要: NBear是一个.Net 2.0下的快速开发框架。它提供了包括可视化实体设计、代码生成、持久化、SOA、MVP等一系列组件。
NBear的设计目标是尽最大可能减少程序员的重复劳动、提高开发效率、提升代码的可维护性和整体质量。
官方网站:http://nbear.org
中文教程目录索引:http://www.cnblogs.com/teddyma/archive/2006/11/07/553562.html
示例程序:从官方网站下载NBearVXXX_tutorials.zip,解压后见tutorials目录。  阅读全文

posted @ 2007-05-18 15:30 Teddy's Knowledge Base 阅读(8098) | 评论 (37)编辑

2008年1月23日 #

一种高性能Hierarchical RBAC实现方案

posted @ 2008-01-23 21:29 Teddy's Knowledge Base 阅读(2623) | 评论 (23)编辑

2008年1月9日 #

NBearLite PetShop 4.0示例源码

     摘要: 该示例使用NBearLite v1.0.1.2,基于.Net PetShop 4.0的源码修改。使用NBearLite重写了等价功能的BLL、Profile、Membership模块的数据访问部分,去除了DALFacrory、IDAL等工程(因为基于NBearLite可以透明的在多种数据库源间进行无缝切换,无需修改代码),去除了Order的基于MSMQ的异步处理部分。本示例演示了使用NBearLite作为数据访问组件进行开发的常用方法。Web工程的Web.config中默认关闭了CaceDependency,并设置了Sqlite为默认数据库。  阅读全文

posted @ 2008-01-09 14:44 Teddy's Knowledge Base 阅读(3625) | 评论 (33)编辑

2007年10月10日 #

基于CodeGenerator的Emit代码生成辅助类源码及演示

     摘要: 本文介绍一组NBearV4中的基于Emit动态生成代码的辅助类,部分概念在本人的blog之前的文章中或多或少都有介绍,这里包含最新的更新及演示、测试。主要是两个类:CodeGenerator和DynamicMethodFactory。前者提供了一种经过封装的,简化Emit方法(包括Emit DynamicMethod,Constructor,Method,get、set Method of Property)的方案;后者基于前者,实现了一种访问指定类(可以是第三方程序集的internal类)的方法或成员变量,实例化第三方程序集中的internal类型,高性能的以非泛型语法访问泛型方法的机制(通过DynamicMethod和Delegate实现)。  阅读全文

posted @ 2007-10-10 11:56 Teddy's Knowledge Base 阅读(3241) | 评论 (14)编辑

2007年10月5日 #

扩展Kevin McFarlane的C#版DesignByContract Framework

     摘要: Kevin McFarlane的C#版DesignByContract Framework实现从02年在CodeProject发布至今,几乎成为C#开发中大多数朋友使用的事实标准。本文结合对该框架的使用经验,在Kevin的原始版本的基础上,使用Strategy Pattern对其进行进一步的扩展,对最常用的检查语义进行封装简化。本文改进的源码以Public Domain协议发布,也就是说,完全没有任何限制。  阅读全文

posted @ 2007-10-05 15:01 Teddy's Knowledge Base 阅读(4230) | 评论 (7)编辑

2007年7月29日 #

发布NBearLite中文版完全参考手册 + NBearLite 10分钟入门教程 + NBearLite v1.0.0.7 beta

     摘要: NBearLite是一个.NET 2.0开源(BSD协议)通用数据访问组件,支持SQL Server、Oracle、MS Access,MySQL,SQLite,PostgreSQL等多种数据库的透明切换(改变数据库类型时无需修改具体的查询代码)。NBearLite实现了一套类似LINQ的强类型数据库查询语法(支持从简单的CRUD查询到GroupBy、InnerJoin,Paging,SubQuery等常用复杂查询)。NBearLite提供的代码生成工具还可以为您自动生成所有的存储过程调用包装代码,可以让您像使用一个.NET类的方法一样访问存储过程(支持SQL Server,Oracle,MySQL,PostgreSQL数据库)。

NBearLite不是一个ORM工具,它不涉及实体类,NBearLite的所有查询返回Scalar/DataSet/IDataReader等ADO.NET原生数据类型。

推荐在使用NBearLite的同时结合使用NBearMapping进行IDataReader/DataRow数据类型和自定义.NET类(如:实体类或业务类  阅读全文

posted @ 2007-07-29 15:12 Teddy's Knowledge Base 阅读(7610) | 评论 (19)编辑

2007年7月26日 #

再续NBear性能测试:ADO.NET, NBearV3, NHibernateV1, NBearLite, NBearLite+NBearMapping性能比较[2008/1/3修订:NBearLite更新至v1.0.1.0整合NBearMapping版地测试结果]

     摘要: 本测试对ADO.NET, NBearV3, NHibernateV1, NBearLite, NBearLite+NBearMapping进行了常见的读写测试。本测试同时证实,NBearLite及NBearLite+NBearMapping的ORM方案,平均性能有很大改善。  阅读全文

posted @ 2007-07-26 08:15 Teddy's Knowledge Base 阅读(4018) | 评论 (27)编辑

2007年7月25日 #

NBearMapping - 开源通用对象映射组件v1.0.0.2 beta - 支持枚举类型字段

     摘要: NBearMapping是NBearV4框架的组件之一,可以独立使用。可用于任意类型对象、DataRow和DataReader对象间的透明映射。建议结合NBearLite使用。
主要功能:
1、任意类型对象、DataRow和DataReader对象间的透明映射;
2、支持.NET的Nullable类型;
3、较高的性能,性能比基于Reflection的等价转换快约50%,手动代码 vs NBearMapping vs Reflection对象转换的执行时间比大约为1:2.5:3.6,可参见源码中MappingTest.TestPerformance() 测试;  阅读全文

posted @ 2007-07-25 15:23 Teddy's Knowledge Base 阅读(3593) | 评论 (17)编辑

2007年7月23日 #

发布NBearLite v1.0.0 beta - 全面支持SqlServer,Oracle,MySql,PostgreSql数据库存储过程调用代码生成(C#/VB.NET)

     摘要: NBearLite 更新至v1.0.0.6 beta
全面支持SqlServer,Oracle,MySql,PostgreSql数据库存储过程调用代码生成(C#/VB.NET),支持输入、输出、返回等各种参数类型。
支持Sub Query。
支持Save DataTable/DataRow。  阅读全文

posted @ 2007-07-23 15:08 Teddy's Knowledge Base 阅读(3021) | 评论 (15)编辑

2007年7月22日 #

NBearV4预告及开发团队成员征集

     摘要: 未来的NBearV4将由ORM、SOA、WEB等几个可无缝拼接,也可独立使用或搭配第三方组件模块使用的模块组成的全新构架的开发框架。。。。  阅读全文

posted @ 2007-07-22 15:01 Teddy's Knowledge Base 阅读(1443) | 评论 (16)编辑

2007年7月20日 #

发布NBearLite v1.0.0: 提供强类型查询语法的非ORM数据访问组件 [8/2 更新至v1.0.0.9 beta - 修复NBearLite参考手册某些操作系统打开错误的问题]

     摘要: NBearLite是一个基于NBear的强类型查询内核的.NET 2.0开源通用数据访问组件。由NBear.org及Teddy维护。NBearLite继承了和进一步简化扩展了NBear中类似LINQ的强类型数据库查询语法(支持CRUD简单查询及GroupBy、InnerJoin,Paging等常用复杂查询),简化了命名空间、代码架构,并进一步简化了用户使用,对已有代码也没有任何侵入。NBearLite不是一个ORM工具,它不涉及实体类,NBearLite的所有查询返回Scalar/DataSet/IDataReader。
  阅读全文

posted @ 2007-07-20 13:15 Teddy's Knowledge Base 阅读(6542) | 评论 (45)编辑

2007年7月12日 #

YetAnotherForum.Net+ScrewTurn Wiki中文完美汉化增强版(07-16更新:升级到v1.2.3 新增显示论坛版主信息,修复Wiki中文搜索)(GPL协议源码发布)

     摘要: 本程序是Teddy为更方便的收集整理各种育儿知识,准备架一个育儿论坛+Wiki网站5JBB.COM,而对YetAnotherForum.Net最新的version 1.9.1 RC1 (NET v2.0) - 2007-5-16版本和ScrewTurn Wiki最新的version 2.0.11 - 2007-7-3版本做的汉化,整合,Bug修复和功能增强。这里将完整的程序源码共享给大家,这是真正免费(GPL协议),功能强大、稳定的ASP.NET 2.0中文论坛+Wiki程序哟!

谨以此程序献给我的宝贝女儿笑笑和所有初为新爹新妈的程序员朋友~~  阅读全文

posted @ 2007-07-12 15:14 Teddy's Knowledge Base 阅读(6572) | 评论 (106)编辑

2007年5月26日 #

绑定Enum到ASP.NET数据绑定控件的完美解决方案[05/26修订]——增加支持第三方枚举描述,支持二进制与过的枚举值

     摘要: 本文向读者介绍NBear中实现的DropDownListField字段绑定控件和EnumDescriptionAttribute特性。结合使用这两个组件,就可以最简单、易用和可扩展地完美解决绑定Enum到ASP.NET数据绑定控件的问题。[05/26修订]——增加支持第三方枚举描述,支持二进制与过的枚举值。  阅读全文

posted @ 2007-05-26 07:44 Teddy's Knowledge Base 阅读(5095) | 评论 (18)编辑

2007年5月18日 #

基于NBear的快速开发解决方案

     摘要: NBear是一个.Net 2.0下的快速开发框架。它提供了包括可视化实体设计、代码生成、持久化、SOA、MVP等一系列组件。
NBear的设计目标是尽最大可能减少程序员的重复劳动、提高开发效率、提升代码的可维护性和整体质量。
官方网站:http://nbear.org
中文教程目录索引:http://www.cnblogs.com/teddyma/archive/2006/11/07/553562.html
示例程序:从官方网站下载NBearVXXX_tutorials.zip,解压后见tutorials目录。  阅读全文

posted @ 2007-05-18 15:30 Teddy's Knowledge Base 阅读(8098) | 评论 (37)编辑

2007年4月24日 #

NbearV3.7新增强类型查询功能演示教程

     摘要: 本教程演示了NBear中典型的的各种查询功能。包括:join,group by,paging等的支持。
下载地址:http://nbear.org/Modules/Articles/Detail.aspx?i=59  阅读全文

posted @ 2007-04-24 17:11 Teddy's Knowledge Base 阅读(6857) | 评论 (41)编辑

2007年3月28日 #

源码发布 - DynamicMethodProxyFactory组件

     摘要: 在前面的文章改进的“以非泛型方式调用泛型方法”之基于DynamicMethod的实现中,提到了一种通过DynamicMethod以非泛型方法代理访问泛型方法的较佳方法(无额外代码定义需要,执行时间大约相当于直接调用泛型方法的3-4倍)。本文介绍的组件在前文思路的基础上,进行进一步的扩展,封装成一个较通用的DynamicMethodProxyFactory组件。除了可以较高性能访问任意的静态或非静态、泛型或非泛行方法之外,利用DynamicMethod可将代码插入内存中已载入的Module的能力,提供了在程序集外实例化指定Module中的internal类型,在程序集外调用internal类型的方法和public类型的internal方法的支持。

该组件实现如下功能:
1、以通用的非泛行方法Delegate访问任意方法(泛型或非泛型,静态或非静态);
2、支持在程序集外调用指定Module中的internal类型的任意属性(属性本质上可以通过它的get/set方法以方法的形式访问)和方法和public类型的internal方法;
3、支持创建并返  阅读全文

posted @ 2007-03-28 11:10 Teddy's Knowledge Base 阅读(7052) | 评论 (24)编辑

2007年3月22日 #

改进的“以非泛型方式调用泛型方法”之基于DynamicMethod的实现

     摘要: 本文针对双鱼座同志的以非泛型方式调用泛型方法一文,提出一种更通用的以非泛型方式调用泛型方法的实现——基于DynamicMethod的实现。
基于DynamicMethod的实现的优点是,执行性能和双鱼座的文中实现的第5种方案——动态生成的非泛型接口包装相当(因为都是基于Emit的),但是,避免了原文实现中必须额外定义接口、Delegate的需要,从而,非常通用,应该是解决相同问题的前提下目前所能想到最佳实现。  阅读全文

posted @ 2007-03-22 17:06 Teddy's Knowledge Base 阅读(8142) | 评论 (9)编辑

2007年2月10日 #

实现NBearDataSource控件 - 02-11 20:30 修订 - 新增Master/Detail实体CRUD示例

     摘要: 一个NBearDataSource控件,可以直接和其他DataSource一样进行绑定。

本示例演示了使用NBearDataSource控件进行CRUD、使用NBearDataSource控件和NBear的强类型查询语法进行可视化查询、使用PagableRepeater控件进行数据绑定和一个典型的基于NBearDataSource的Master/Detail实体CRUD示例。大家可以看到,使用NBearDataSource的情况下,数据绑定的操作过程大大简化了。

02-08 22:30 修订:新增基于NBearDataSource控件的强类型查询示例
02-09 10:00 修订:增加GridView和Repeater控件如何设置并使用NBearDataSource控件提供的数据库级别分页支持绑定某页数据的说明。
02-10 15:00 修订:新增PagableRepeater控件及示例
02-11 20:30 修订:新增基于NBearDataSource的Master/Detail实体CRUD示例
  阅读全文

posted @ 2007-02-10 15:18 Teddy's Knowledge Base 阅读(9421) | 评论 (43)编辑

2006年12月29日 #

ADO.NET、NBear和NHibernate简单读写性能比较

posted @ 2006-12-29 18:14 Teddy's Knowledge Base 阅读(5129) | 评论 (29)编辑

2006年12月28日 #

Suggested NBear Framework Based FDD Development Steps

posted @ 2006-12-28 21:38 Teddy's Knowledge Base 阅读(3071) | 评论 (0)编辑

2006年12月20日 #

NBearV3教程——MVP(Model/View/Presenter)篇

     摘要: 本教程在《NBearV3 Step by Step教程——IoC篇》的基础上,演示如何基于NBearV3的MVP模块实现基于NBear的IoC的MVP模式的过程。您将看到,利用封装了NBear的IoC模块的NBear.MVP模块,不仅能大大加强系统表现层的可测试性,同时能充分利用NBear已有的IoC模块获得依赖注入能力及基于IoC的分布式服务支持。通过本教程,读者应能够全面掌握使用NBearV3的MVP模块实现表现层MVP模式。  阅读全文

posted @ 2006-12-20 20:07 Teddy's Knowledge Base 阅读(5062) | 评论 (20)编辑