MoonORM 44.docx
- 文档编号:11835819
- 上传时间:2023-04-05
- 格式:DOCX
- 页数:5
- 大小:16.08KB
MoonORM 44.docx
《MoonORM 44.docx》由会员分享,可在线阅读,更多相关《MoonORM 44.docx(5页珍藏版)》请在冰豆网上搜索。
MoonORM44
Moon.ORM-4.4
Moon.ORM-4.4隆重发布,在性能和使用便捷上一挑群雄(mysoft,cyq,pdf)从性能上讲目前没有性能与moon可比的框架(非纯ADO.NET),便捷上除了实体框架,大家自己使用各框架便可知道.不过我挺喜欢PDF的思路,可以几乎不用反射实现,所以性能很高.在此表示无意战争,只是告诉我的那帮Moon.Orm支持者及还不理解ORM的朋友一点性能上看见.
第一部分论性能
4.4对自动编译方法进行了重构.
例如:
List<North.Orders>list=DBFactory.GetEntitiesWithHighSpeed<North.Orders>(OrdersTable.OrderID.BiggerThan(0),"实体所在的程序集");
看代码.
/*
*
*要改变这种模板请点击工具|选项|代码编写|编辑标准头文件
*/
usingSystem;
usingCYQ.Data;
usingCYQ.Data.Table;
usingCYQ.Entity;
usingCYQ.Entity.MyNorthWind;
usingMDB;
usingMoon.Orm;
usingMySoft.Data;
usingNorth;
usingPWMIS.DataMap.Entity;namespaceDemo
{
classProgram
{
publicstaticvoidMain(string[]args)
{
//---------可能有预处理,这些不管----------------
PDF.NorthWind.Customerspdft=newPDF.NorthWind.Customers();
OQLqt=newOQL(pdft);
qt.Select().Where(qt.Condition.AND(pdft.CustomerID,">",1));
varresultt=EntityQuery<PDF.NorthWind.Customers>.QueryList(qt);
//
PWMIS.DataProvider.Data.AdoHelperdb=PWMIS.DataProvider.Adapter.MyDB.GetDBHelperByConnectionName("pdf");
using(MActionactiont=newMAction(TableNames.Customers))
{
if(actiont.Fill("CustomerID>1"))//查询ID>888的结果中取ID最大的的单行数据
{
varlistt=actiont.Select().ToList<North.Customers>();
}
}
DbSessiondbSession=newDbSession(newMySoft.Data.SqlServer9.SqlServer9Provider(System.Configuration.ConfigurationSettings.AppSettings["linkString"]));
//dbSession.CacheOff();
//第一次动态编译
vartest=DBFactory.GetEntitiesH<North.Customers>(CustomersTable.CustomerID.BiggerThan(0),"demo.exe");
varlistMysoft=dbSession.From<MySoft.Customers>().Where(MySoft.Customers._.CustomerID>0).ToList<MySoft.Customers>();
//======================================
longt1=DateTime.Now.Ticks;
for(inti=0;i<800;i++){
PDF.NorthWind.Customerspdf=newPDF.NorthWind.Customers();
OQLq=newOQL(pdf);
q.Select().Where(q.Condition.AND(pdf.CustomerID,">",1));
varresult=EntityQuery<PDF.NorthWind.Customers>.QueryList(q);
}
longt2=DateTime.Now.Ticks;
Console.WriteLine("PDF.NET:
"+(t2-t1));
longa1=DateTime.Now.Ticks;
for(inti=0;i<800;i++){//注意我们还多获取了一个实体数据从>0
vartest2=DBFactory.GetEntitiesH<North.Customers>(CustomersTable.CustomerID.BiggerThan(0),"demo.exe");
}
vara2=DateTime.Now.Ticks;
Console.WriteLine("Moon.Orm:
"+(a2-a1));
longc1=DateTime.Now.Ticks;
for(inti=0;i<800;i++){
using(MActionaction=newMAction(TableNames.Customers))
{
if(action.Fill("CustomerID>1"))//查询ID>888的结果中取ID最大的的单行数据
{
varlist=action.Select().ToList<North.Customers>();
}
}
}
varc2=DateTime.Now.Ticks;
Console.WriteLine("CYQ.DATA:
"+(c2-c1));
varm1=DateTime.Now.Ticks;
for(inti=0;i<800;i++){
varlist2=dbSession.From<MySoft.Customers>().Where(MySoft.Customers._.CustomerID>0).ToList<MySoft.Customers>();
}
varm2=DateTime.Now.Ticks;
Console.WriteLine("MySoft:
"+(m2-m1));
Console.Write("Pressanykeytocontinue...");
Console.ReadKey(true);
}
}
}
运行结果:
第二部分开发使用便捷性
第一步:
打开企业版代码生成器
第二步:
填写项目数据库
第三步:
生成实体集或者实体类文件
第四步:
引入实体集或实体类文件到您开发的项目中.
第五步:
复制链接字符串
第六步:
粘贴到你项目的配置文件appsettings中
似乎有的框架不支持可空类型,这个有点不舒服.
测试代码:
/Files/humble/Demo.7z
数据库文件(sql文件)
QQ群技术交流:
216965349
分类:
.NET技术研究
绿色通道:
好文要顶
关注我
收藏该文与我联系[秦时明月]
关注-46
粉丝-92+加关注4
0(请您对文章做出评价)博主上一篇:
Moon.ORM全攻略.Moon.ORM4.3稳定版(及代码生成器企业版)发布.
首页上一篇:
使用HTML5Web存储的localStorage和sessionStorage方式进行Web页面数据本地存储
首页下一篇:
模拟器详解posted@2012-12-0817:
15[秦时明月]Views(680)Comments(8)Edit收藏PostComment回复引用
#1楼2012-12-0817:
48
|
路过秋天
加油,坚持不一定胜利,但放弃一定失败。
。
。
,推荐一个!
支持(0)反对(0)回复引用
#2楼2012-12-0817:
55
|
路过秋天
顺便提一下,CYQ.Data在上面的示例写错了,应该是这样用的:
1234567using(MActionaction=newMAction(TableNames.Customers)){if(action.Fill("CustomerID>1"))//查询ID>888的结果中取ID最大的的单行数据{varlist=action.Data.ToEntity<North.Customers>();}}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MoonORM 44