现在的位置: 首页 > 数据库 > 正文

PDF.NET测试程序是在MySQL中怎么操作

2020年05月06日 数据库 ⁄ 共 3667字 ⁄ 字号 评论关闭

  在WFT项目中,SQL-MAP使用较多,但是实体类用的很少,实际上,PDF.NET的实体类相当强大。下面学步园小编来讲解下PDF.NET测试程序是在MySQL中怎么操作?

  PDF.NET测试程序是在MySQL中怎么操作

  PDF.NET是一套全新的快速数据处理框架PWMISDataDevelopFramework,简称PDF

  1,首先在App.config文件中配置数据库连接字符串:

  

  2,然后定义一个“用户”实体类:

  /**PDF.NET数据开发框架*http://www.pwmis.com/sqlmap*/usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingPWMIS.DataMap.Entity;namespaceTestMySqlEntity{classUser:EntityBase{publicUser(){TableName="tb_user";PrimaryKeys.Add("ID");//主键IdentityName="ID";//标识,自增PropertyNames=newstring[]{"ID","Name","Age"};PropertyValues=newobject[PropertyNames.Length];}publicintID{get{returngetProperty("ID");}set{setProperty("ID",value);}}publicintAge{get{returngetProperty("Age");}set{setProperty("Age",value);}}publicstringName{get{returngetProperty("Name");}set{setProperty("Name",value,50);}}}}

  3,根据这个实体类,我们去MySQL定义一个用户表:tb_user,具体过程省略。

  4,编写ORM实体类操作的测试代码:

  usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingPWMIS.DataMap.Entity;namespaceTestMySqlEntity{classProgram{staticvoidMain(string[]args){Useru=newUser();//*************构建OQL查询表达式*******begin************//查询实体集合//使用OQLCompare对象作为条件//OQLq=OQL.From(u).Select().Where(newOQLCompare(u).Comparer(u.Age,OQLCompare.CompareType.NoSmaller,15)).END;OQLq=newOQL(u);//使用OQL2作为条件对象q.Select().Where(q.Condition.AND(u.Age,">=",15)).OrderBy(u.Age,"asc");//使用QueryParameter数组作为条件,适合于多个并列的And条件//q.Select().Where(newQueryParameter[]{newQueryParameter("Age",PWMIS.Common.enumCompare.NoSmaller,15)}).OrderBy(u.Age,"asc");Console.WriteLine("OQLtoSQL:\r\n"+q.ToString());//*************构建OQL查询表达式*******end************//查询实体列表varresult=EntityQuery.QueryList(q);Console.WriteLine("查询实体集合成功,数量:"+result.Count);Console.WriteLine("\r\nExecutedSQLText:\r\n{0}\r\n",PWMIS.DataProvider.Data.CommandLog.Instance.CommandText);//查询单个实体u.Name="zhangsan";q.Select().Where(u.Name);Console.WriteLine("OQLtoSQL:\r\n"+q.ToString());Useru1=EntityQuery.QueryObject(q);if(u1!=null)Console.WriteLine("查询单个实体成功!");Console.WriteLine("\r\nExecutedSQLText:\r\n{0}\r\n",PWMIS.DataProvider.Data.CommandLog.Instance.CommandText);//直接使用EntityQuery.Instance属性的插入、修改、删除方法u.Name="lisi3";u.Age=15;if(EntityQuery.Instance.Insert(u)>0)Console.WriteLine("插入实体成功!");//将自动为ID属性赋值Console.WriteLine("\r\nExecutedSQLText:\r\n{0}\r\n",PWMIS.DataProvider.Data.CommandLog.Instance.CommandText);u.Age=25;if(EntityQuery.Instance.Update(u)>0)Console.WriteLine("修改实体成功!");Console.WriteLine("\r\nExecutedSQLText:\r\n{0}\r\n",PWMIS.DataProvider.Data.CommandLog.Instance.CommandText);Useru2=newUser();u2.Name="wangwu";u2.Age=20;//使用EntityQuery的实例对象方法更新实体//只会更新赋值过的属性值EntityQueryeq=newEntityQuery(u2);if(eq.SaveAllChanges()>0)Console.WriteLine("更新实体成功!");Console.WriteLine("\r\nExecutedSQLText:\r\n{0}\r\n",PWMIS.DataProvider.Data.CommandLog.Instance.CommandText);Console.Read();}}}

  PDF.NET测试程序是在MySQL中怎么操作

  5,编译运行,得到下面的结果:

  OQLtoSQL:SELECT[ID],[Name],[Age]FROM[tb_user]Where[Age]>=@Age0Orderby[Age]asc查询实体集合成功,数量:23

  ExecutedSQLText:SELECT`ID`,`Name`,`Age`FROM`tb_user`Where`Age`>=@Age0Orderby`Age`asc

  OQLtoSQL:SELECT[ID],[Name],[Age]FROM[tb_user]WhereName=@Name

  查询单个实体成功!

  ExecutedSQLText:SELECT`ID`,`Name`,`Age`FROM`tb_user`WhereName=@Name

  插入实体成功!

  ExecutedSQLText:INSERTINTO`tb_user`(`Name`,`Age`)VALUES(@P0,@P1)

  修改实体成功!

  ExecutedSQLText:UPDATE`tb_user`SET`Age`=@P0WHERE`ID`=@P1

  更新实体成功!

  ExecutedSQLText:INSERTINTO`tb_user`(`Name`,`Age`)VALUES(@P0,@P1)

  6,结果说明

  我们看到整个操作都成功了,特别注意这个:

  UPDATE`tb_user`SET`Age`=@P0WHERE`ID`=@P1

  当时我们只给Age属性重新赋值了,所以生成的更新语句也仅仅更新了该字段。

  注意,当前测试程序仅支持PDF.NET框架最新版本Ver4.0.11.0415,不过框架的ORM功能在之前的版本就已经提供,只是显示结果稍有不同。

  以上就是关于“PDF.NET测试程序是在MySQL中怎么操作”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!

抱歉!评论已关闭.