Farseer.net轻量级ORM开源框架 V1.x 入门篇:存储过程数据操作
上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:存储过程实体类映射
下一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:表/视图缓存操作 TableCahceSet、ViewCahceSet
在上篇中,我们学会了存储过程的关系映射,其中知道了存储过程需要使用: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 参数。
所以在执行Execute后,会把UserName、PassWord生成SQL参数并执行到"sp_Insert_User"存储过程中的。同时设置了out 参数的ID,那么out参数会返回并赋值到ID属性中来。
/// <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种类型的存储过程执行:
- 返回查询的值(单值)
- 执行存储过程(不返回值,out仍然会返回并赋值)
- 返回单条记录
- 返回多条记录
存储过程的操作非常简单。只需要在上面提供的4种方法之前,传入需要的参数类型的实体即可执行我们要的存储过程,这样便实现了我们说到的存储过程映射 了。
博主就不一一对这4个方法进行调用说明了。
至于选则哪种方法来执行,需要根据你的存储过程定义时,它执行完后返回的类型来自己选择。
存储过程执行完后无返回(out参数不算),则调用:Execute
如果返回列表、单值(单个字段)、单条记录,则找到对应的执行方法即可。
其实,至少,Farseer.Net的大部份操作我们已经讲完了。通过学习到这里,你已经可以在实际的项目中进行使用了。
往后的教程只不过是一些提供(可能你用不到)的功能而已。所以现在开始,赶紧下载它,应用到你的项目中来吧(以学习为目的)
Farseer.Net 要做的出色,需要大家的努力,需要你的出谋策划,一旦接受,博主将会把它实现在在下个版中来。
事实上现在里面的很多功能都是大家提出来的。在加以博主汗水而发布出来的。从中大家都可以学习到不同角度的知识。
还等什么?赶紧加入我们吧:QQ群:116228666 (Farseer.net开源框架交流) 请注明:Farseer.Net
上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:存储过程实体类映射
下一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:表/视图缓存操作 TableCahceSet、ViewCahceSet
QQ群:116228666 (Farseer.net开源框架交流) 请注明:Farseer.Net
Farseer.Net是一款ORM框架 + 常用工具 + 扩展集合。
Farseer 寓意:先知、预言家 通常在某些场合时,提供计谋、策略。也希望该框架能给大家提供最大化的便捷。
ORM:其英文全称是:Object(对象) Relational(关系) Mapping(映射)
Farseer.Net的目标是:快速上手、快速开发、简单方便。
Table.Data.User.Where(o=>o.ID == ).ToEntity();
Table.Data.User.Where(o=>o.ID > ).ToList();
Table.Data.User.Where(o=>o.ID != ).Delete();
Table.Data.User.Where(o=>o.ID != ).AddUp(o=>o.LoginCount, );
Table.Data.User.Where(o=>o.ID == ).Update(new User{ UserName = "newName" });
Table.Data.User.Insert(new User{ UserName = "newName" });
Farseer.net轻量级ORM开源框架 V1.x 入门篇:存储过程数据操作的更多相关文章
- Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图的数据操作
导航 目 录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图实体类映射 下一篇:Farseer.net轻量级ORM开源 ...
- Farseer.net轻量级ORM开源框架 V1.x 入门篇:存储过程实体类映射
导航 目 录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图的数据操作 下一篇:Farseer.net轻量级ORM开源 ...
- Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图实体类映射
导航 目 录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:表的数据操作 下一篇:Farseer.net轻量级ORM开源框 ...
- Farseer.net轻量级ORM开源框架 V1.x 入门篇:数据库上下文
导航 目 录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:数据库配置文件 下一篇:Farseer.net轻量级ORM开源 ...
- Farseer.net轻量级ORM开源框架 V1.x 入门篇:表的数据操作
导航 目 录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:表实体类映射 下一篇:Farseer.net轻量级ORM开源框 ...
- Farseer.net轻量级ORM开源框架 V1.x 入门篇:表实体类映射
导航 目 录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:数据库上下文 下一篇:Farseer.net轻量级ORM开源框 ...
- Farseer.net轻量级ORM开源框架 V1.x 入门篇:数据库配置文件
导航 目 录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:新版本说明 下一篇:Farseer.net轻量级ORM开源框架 ...
- Farseer.net轻量级ORM开源框架 V1.x 入门篇:新版本说明
导航 目 录:Farseer.net轻量级ORM开源框架 目录 上一篇:没有了 下一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:数据库配置 前言 V1.x版本终于到来了.本次 ...
- Farseer.net轻量级ORM开源框架 V1.x 教程目录
本篇教程将以Ver 1.x版本进行详细使用讲解 大家有任何疑问可以加入我们的官方QQ群进行讨论.QQ群:116228666 (Farseer.net开源框架交流) 请注明:Farseer.Net 整个 ...
随机推荐
- 《31天成为IT服务达人》--做事篇(第四章)之如何找目标
前面介绍了什么是IT服务.以下几章将介绍IT服务该怎么做.在聊怎么做之前.想起几句流行的告白和准备入行IT服务事业的朋友共勉. 当你的才华 还撑不起你的野心时 就应该静下心来 学习 --- 当你 ...
- 滚动条样式优化(CSS3自定义滚动条样式 -webkit-scrollbar)
有时候觉得浏览器自带的原始滚动条不是很美观,那webkit浏览器是如何自定义滚动条的呢? Webkit支持拥有overflow属性的区域,列表框,下拉菜单,textarea的滚动条自定义样式.当然,兼 ...
- Powershell 常见问题
unapproved verbs WARNING: The names of some imported commands from the module 'todo' include unappro ...
- BZOJ_1067_[SCOI2007]降雨量_ST表
BZOJ_1067_[SCOI2007]降雨量_ST表 Description 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意 Y<Z< ...
- Java并发思考
如果说传统金融政企软件主要看事务,而互联网软件主要是并发,就像淘宝双十一主要就是在解决并发问题. 并发的目的是提高系统效率,响应时间和吞吐量. Java中并发的基本单位是线程,如何更好的解决线程协作通 ...
- codeforces 125 A-E 补题
A Measuring Lengths in Baden 进制转换 水题 #include<bits/stdc++.h> using namespace std; int main() { ...
- linux WEB服务器***
Apache sudo apt-get install apache2 PHP sudo apt-get install php5 sudo apt-get install php5-gd / ...
- hdu 2829(四边形优化 && 枚举最后一个放炸弹的地方)
Lawrence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- VS2010 AnkhSvn
有时候打开别的项目用的是 TFS等 造成 VS本来用的AnkhSvn失效了 .工具---选项----插件选择---
- 软件项目功能测试框架(转载自51Testing软件测试)
测试用例的编写需要按照一定的思路进行,而不是想到哪写到哪,一般测试机制成熟的公司都会有公司自己自定义的测试用例模板,以及一整套的测试流程关注点,当然我们自己在测试生涯中也应当积累一套自己的测试框架,所 ...