Farseer.net轻量级ORM开源框架 V1.x 入门篇:存储过程数据操作

导航

目   录:Farseer.net轻量级ORM开源框架 目录

上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:存储过程实体类映射

下一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:表/视图缓存操作 TableCahceSet、ViewCahceSet

前言

  在上篇中,我们学会了存储过程的关系映射,其中知道了存储过程需要使用:ProcSet作为操作的上下文,以及在Field特性上,我们知道了新的两个属性用来存储过程的参数输入输出。

  在上篇末尾,提到了4个属性方法。这篇简单的讲解下。

针对InsertUserVO,客户端调用的例子:

    var info = new InsertUserVO { UserName = "now111", PassWord = "old222" };
    Proc.Data.InsertUser.Execute(info);

  InsertUserProcSet<InsertUserVO>类型的属性,这在上一篇中,可以看到它的定义。

  从我们定义的实体中InsertUserVO,可以看到:UserName、PassWord是IsInParam = true的,也就是说他们是我们要传入的参数(存储过程)。而ID 是 out 参数

  所以在执行Execute后,会把UserName、PassWord生成SQL参数并执行到"sp_Insert_User"存储过程中的。同时设置了out 参数的ID,那么out参数会返回并赋值到ID属性中来。

ProcSet提供的方法

        /// <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种类型的存储过程执行:

  1. 返回查询的值(单值)
  2. 执行存储过程(不返回值,out仍然会返回并赋值)
  3. 返回单条记录
  4. 返回多条记录

  存储过程的操作非常简单。只需要在上面提供的4种方法之前,传入需要的参数类型的实体即可执行我们要的存储过程,这样便实现了我们说到的存储过程映射 了。

  博主就不一一对这4个方法进行调用说明了。

  至于选则哪种方法来执行,需要根据你的存储过程定义时,它执行完后返回的类型来自己选择。

  

  存储过程执行完后无返回(out参数不算),则调用:Execute

  如果返回列表、单值(单个字段)、单条记录,则找到对应的执行方法即可。

总结

  其实,至少,Farseer.Net的大部份操作我们已经讲完了。通过学习到这里,你已经可以在实际的项目中进行使用了。

  往后的教程只不过是一些提供(可能你用不到)的功能而已。所以现在开始,赶紧下载它,应用到你的项目中来吧(以学习为目的)

  Farseer.Net 要做的出色,需要大家的努力,需要你的出谋策划,一旦接受,博主将会把它实现在在下个版中来。

  事实上现在里面的很多功能都是大家提出来的。在加以博主汗水而发布出来的。从中大家都可以学习到不同角度的知识。

  还等什么?赶紧加入我们吧:QQ群:116228666 (Farseer.net开源框架交流) 请注明:Farseer.Net

导航

目   录:Farseer.net轻量级ORM开源框架 目录

上一篇: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的目标是:快速上手、快速开发、简单方便。

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" });
时间: 2024-08-10 17:22:00

Farseer.net轻量级ORM开源框架 V1.x 入门篇:存储过程数据操作的相关文章

Farseer.net轻量级ORM开源框架 V1.x 入门篇:数据库上下文

导航 目   录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:数据库配置文件 下一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:表实体类映射 前言 上文讲述了数据库配置使用,搭建好数据库的链接方式了我们知道怎么做了. 事实上,至今我们仍然还没有讲到代码方面,花了前面这么多篇幅讲解,主要是想由浅入深,不然一上来给大家讲解这讲解那的,听的也一头雾水,反而得不到效果. 这篇比较重要,因为它是我们在使用Far

Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图的数据操作

导航 目   录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图实体类映射 下一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:存储过程实体类映射 前言 我们知道对于关系数据库,视图的出现可以在一定的情况下减少因要进行数据关联而带来的大量SQL语句,它可以让我们就像访问一张表一样的简单操作. 作为ORM来说,支持视图也是一项最基础的工作.然而大部份的ORM中,对视图没有特意去提供这个类,因为视图的SQ

Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图实体类映射

导航 目   录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:表的数据操作 下一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图的数据操作 前言 在V1.0中,新增了视图的映射.在以往的版本中,视图是当成”表“来操作的. 但是我们的视图通常只是为了方便查询而建的.而表支持写操作.会显的很不入调(当然MSSQL的视图也是支持写的,但是这里的视图映射是为了只读视图而来的) 先看下我DEMO中的上下文与视

Farseer.net轻量级ORM开源框架 V1.5版本升级消息

SHA-1: 0ede88104f269f108b68be1e87ffcead4a354ec6 * 提交V1.5版本1.新增:整表缓存的实现方式(提取接口,可由客户端算定义实现)2.新增:SQL配置化方式的SQL参数通过实体类InParam传入3.新增:URL跳转方法4.新增:配置文件自定义路径.AbsConfigs添加FilePath属性进行设置,或通过FS.Utils.Common.AppData全局设置 5.修复:新浪正则6.修复:缓存逻辑删除把已标记删除的数据也读取出来了. 7.重构:分

Farseer.net轻量级ORM开源框架 V1.2版本升级消息

V1.1到V1.2的更新,重构了很多类及方法,其中主要做了性能优化(取消所有反射,使用表达式树+缓存).解耦了SQL生成层(没有实体.队列的依赖,所有数据均通过表达式树传递解析) 先上内部更新历史记录: 接近20天的工作量.修复了已知的BUG.并新增了一些功能,详细如下: 重构:SQL日志记录功能 重构:ExpressionVisitor解析器,重命名为AbsSqlVisitor(SQL解析专用基类),继承自AbsExpressionVisitor(通用解析类) 重构:SelectVisitor

Farseer.net轻量级ORM开源框架 V1.3版本升级消息

SHA-1: abca3b99801648fa23c7f4934de6c128f042cf47 * 提交新版本:V1.31.重构:FS.Mapping命名空间移到 FS.Core.Map中2.重构:对Set<>映射改为上下文中的方法重写.(在上下文初始化SET时触发)3.重构:映射方案改为:物理映射(缓存) + 数据映射(无缓存,动态运行改变)4.重构:合并字段数据库映射与数据检测 5.移除:ContextMap.FieldState.SetState.SetAttribute.SortDel

Farseer.net轻量级开源框架 V1.x 入门篇:数据库配置及其它配置文件

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 V1.x 入门篇:新版本说明 下一篇:Farseer.net轻量级开源框架 V1.x 入门篇:表实体类映射 前言 Farseer.Net是支持多数据库的ORM,使用者通过配置文件即可切换指定的数据库而不需要修改项目中的任何代码.本篇讲述如何进行数据库环境的配置.同时也讲述其它配置文件的使用. 配置文件 1.配置文件的路径: 不管是WebForm.Mvc.WinForm,配置文件统一放在:~

Farseer.net轻量级开源框架 V1.x 入门篇:表的数据操作

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 V1.x 入门篇:表实体类映射 下一篇:Farseer.net轻量级开源框架 V1.x 入门篇:视图实体类映射 前言 先跟大家抱歉下,教程迟迟没有更新,因为一个人的精力实在有限(借口?好吧,我认了). 想要Farseer.Net发展的更好,需要认真.客观解读群里朋友们的建议,实际上也确实是这样,有些思想.功能自己确实没想到(必境我自己所能接触的业务场景是非常有限的). 当然在考虑Farse

Farseer.net轻量级开源框架 V1.x 入门篇:新版本说明

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:没有了 下一篇:Farseer.net轻量级开源框架 V1.x 入门篇:数据库配置 前言 V1.x版本终于到来了.本次版本的开发从3月份开始,花了一个月的时间完成了概念版本设计.开发.到了4月份进行多次的内核的重构设计.到了5月份进行大规模的BUG修复.代码优化. 截止到今天(6月初),已知的BUG都已修复,并已在2个项目中应用了,并且运行良好. 本篇主题 1.新增队列管理: 新版本改变了V0.x时的使用方式,以Entityf