在上篇中,咱们学会了存储过程的关系映射,其中知道了存储过程须要使用:ProcSet做为操做的上下文,以及在Field特性上,咱们知道了新的两个属性用来存储过程的参数输入输出。框架
在上篇末尾,提到了4个属性方法。这篇简单的讲解下。工具
var info = new InsertUserVO { UserName = "now111", PassWord = "old222" }; Proc.Data.InsertUser.Execute(info);
InsertUser是ProcSet<InsertUserVO>类型的属性,这在上一篇中,能够看到它的定义。学习
从咱们定义的实体中InsertUserVO,能够看到:UserName、PassWord是IsInParam = true的,也就是说他们是咱们要传入的参数(存储过程)。而ID 是 out 参数。spa
因此在执行Execute后,会把UserName、PassWord生成SQL参数并执行到"sp_Insert_User"存储过程当中的。同时设置了out 参数的ID,那么out参数会返回并赋值到ID属性中来。.net
/// <summary> /// 返回查询的值 /// </summary> /// <param name="entity">传入被设置好参数赋值的实体</param> /// <param name="t">失败时返回的值</param> public T GetValue<T>(TEntity entity = null, T t = default(T)) /// <summary> /// 执行存储过程 /// </summary> /// <param name="entity">传入被设置好参数赋值的实体</param> public void Execute(TEntity entity = null) /// <summary> /// 返回单条记录 /// </summary> /// <param name="entity">传入被设置好参数赋值的实体</param> public TEntity ToEntity(TEntity entity = null) /// <summary> /// 返回多条记录 /// </summary> /// <param name="entity">传入被设置好参数赋值的实体</param> public List<TEntity> ToList(TEntity entity = null)
根据咱们常常碰到的,专门提供了4种类型的存储过程执行:code
存储过程的操做很是简单。只须要在上面提供的4种方法以前,传入须要的参数类型的实体便可执行咱们要的存储过程,这样便实现了咱们说到的存储过程映射 了。htm
博主就不一一对这4个方法进行调用说明了。
至于选则哪一种方法来执行,须要根据你的存储过程定义时,它执行完后返回的类型来本身选择。
存储过程执行完后无返回(out参数不算),则调用:Execute
若是返回列表、单值(单个字段)、单条记录,则找到对应的执行方法便可。
其实,至少,Farseer.Net的大部份操做咱们已经讲完了。经过学习到这里,你已经能够在实际的项目中进行使用了。
日后的教程只不过是一些提供(可能你用不到)的功能而已。因此如今开始,赶忙下载它,应用到你的项目中来吧(以学习为目的)
Farseer.Net 要作的出色,须要你们的努力,须要你的出谋策划,一旦接受,博主将会把它实如今在下个版中来。
事实上如今里面的不少功能都是你们提出来的。在加以博主汗水而发布出来的。从中你们均可以学习到不一样角度的知识。
还等什么?赶忙加入咱们吧:QQ群:116228666 (Farseer.net开源框架交流) 请注明:Farseer.Net
QQ群:116228666 (Farseer.net开源框架交流) 请注明:Farseer.Net
Farseer.Net是一款ORM框架 + 经常使用工具 + 扩展集合。
Farseer 寓意:先知、预言家 一般在某些场合时,提供计谋、策略。也但愿该框架能给你们提供最大化的便捷。
ORM:其英文全称是:Object(对象) Relational(关系) Mapping(映射)
Farseer.Net的目标是:快速上手、快速开发、简单方便。
1 Table.Data.User.Where(o=>o.ID == 1).ToEntity(); 2 Table.Data.User.Where(o=>o.ID > 1).ToList(); 3 Table.Data.User.Where(o=>o.ID != 0).Delete(); 4 Table.Data.User.Where(o=>o.ID != 0).AddUp(o=>o.LoginCount, 1); 5 Table.Data.User.Where(o=>o.ID == 1).Update(new User{ UserName = "newName" }); 6 Table.Data.User.Insert(new User{ UserName = "newName" });