在这里也混了几年了也算是个老潜水员了都是看别人的东西都没分享和讨论过什么..最近突然想写点东西就把我自已做的一个小框架在这也也弄个系列玩玩..这个框架的查询方试是看到别人的的一个框架很不错借鉴来的.不过我不知道那个作者是谁不过还是要感谢他让我在做项目时少打了很多代码.. 工作有个几年经验的程序员多多少少都做过类似的东西了.但使用了别人做的那些强大的框架后就没兴趣在继续做自已的东西了...(之前也是写过JS的框架但是JQ太强了彻底把我秒掉了).现在开始写写.NET的框架.有几个项目还在使用着...还不算太惨没有白写..框架名RJ.(自已取的以下就只说RJ)因为还在一直开发中..所以先说1.0和2.0.已经在项目中使用的是1.0.经过多次的测试和项目当中的使用也算是无BUG了.至少可以正常使用...2.0呢改了很多所以不敢说无BUG.目前还在测试中所以暂不放出源码(怕被骂).在测试通过后会在这系列后面把源码放出(如果有人喜欢如果没有人喜欢这个系列也就没后面了- -!)

  好了废话不多说了先上几张与强大的框架(LINQ)的性能上的对比.(表结构9个字段246797条数据)

先用普通的SQL语句测试(我是不喜欢在代码中出现那些红色的字符串.当然在正式项目中是不会出现那些的现在只是测式) 大家可以看到.这一次查询一次查询出246797条数据Linq与RJ的性能相差不多几乎是一样的.但是在正式的项目中谁会一下子取那么多条数据出来..也就是几十上百条.好了现在看下图.现在只查询 TOP 500条数据
从上图中可看出RJ查询越少的数据时性能高了Linq几了倍.如果是普通使用10条一页20条一页常见分页性能更是超过10倍以上.想想还是有点优势的不是一无是处的..
在放上一张普通的DATASET查询的图
上面是查询246797条数据 下面是500条数据

从性能上来说还是过的去的..现在说下这个RJ有些什么功能吧...先说说操作数据库的吧

//其实都差不多的PeID 是主键自增
//增加
//添加的第一种写发
RJ.Model.ProductExtended productExtended = new RJ.Model.ProductExtended()
{
AttriAvoirdupois
= 0,
AttributeID
= 0,
AttributePrice
= 0,
AttributeValue
= "添加一个",
ProductCode
= "1111111111111",
ProductID
= 1,
ProductShortName
= "新的",
WebSiteID
= 0
};
productExtended.Insert();
//添加的第二种写发
db.Insert(new RJ.Model.ProductExtended()
{
AttriAvoirdupois
= 0,
AttributeID
= 0,
AttributePrice
= 0,
AttributeValue
= "添加一个",
ProductCode
= "1111111111111",
ProductID
= 1,
ProductShortName
= "新的",
WebSiteID
= 0
});

//第三种写法
db.Insert(RJ.DModel.ProductExtended.InsertSqlSection.AddColumn(
RJ.DModel.ProductExtended.ProductShortName,
"新的",
RJ.DModel.ProductExtended.ProductCode,
"1111111111111"));



//更新也差不多
//第一种写发
RJ.Model.ProductExtended productExtended2 = new RJ.Model.ProductExtended()
{
AttriAvoirdupois
= 0,
AttributeID
= 0,
AttributePrice
= 0,
AttributeValue
= "添加一个",
PeID
= 0,
ProductCode
= "1111111111111",
ProductID
= 1,
ProductShortName
= "新的",
WebSiteID
= 0
};
productExtended2.Update();
//更新的第二种写发
db.Update(new RJ.Model.ProductExtended()
{
AttriAvoirdupois
= 0,
AttributeID
= 0,
AttributePrice
= 0,
AttributeValue
= "添加一个",
PeID
= 0,
ProductCode
= "1111111111111",
ProductID
= 1,
ProductShortName
= "新的",
WebSiteID
= 0
});

//第三种写法
db.Update(RJ.DModel.ProductExtended.UpdateSqlSection.AddColumn(
RJ.DModel.ProductExtended.ProductShortName,
"新的",
RJ.DModel.ProductExtended.ProductCode,
"1111111111111")
.Where(RJ.DModel.ProductExtended.PeID
== 1));



//删除也差不多
//第一种写发
RJ.Model.ProductExtended productExtended3 = new RJ.Model.ProductExtended()
{
PeID
= 1,
};
productExtended3.Delete();
//删除的第二种写发
db.Delete(new RJ.Model.ProductExtended()
{
PeID
= 1
});

//第三种写法
db.Delete(RJ.DModel.ProductExtended.DeleteSqlSection
.Where(RJ.DModel.ProductExtended.PeID
== 1));

当然这只是简单的..加上重载后的数据库操作的方法就有几百个(具体没数)
还有包括批量添加,修改,删除.存储过程 事务 缓存 异步 等很多功能...
使用方法都很简单..我的原则:一切从简.
当然还有最重要的这个框架所使用的自动生成代码的工具.没有谁喜欢打那些枯燥的代码.
以上只是数据库那块的东西........当然RJ中还有从网络上收集来的各种常用的东西...等等.这后在说吧东西比较多.
欢迎拍转O(∩_∩)O~很想跟也喜欢自已写这东东的人多多讨论然后让我以后打代码更加轻松.打更少的代码做更多的事..呵呵

1.0下载 

posted on 2011-03-09 13:28  [RJ]  阅读(4735)  评论(51编辑  收藏  举报