简介:SubSonic框架是一个优秀的、开源的ORM映射框架,同时提供符合自身需要的代码生成器。

官方下载地址:http://www.subsonic.org/pages/download.jsp

明白了SubSonic是什么之后,下面一起来看SubSonic的使用吧。

开发版本:SubSonic版本为 2.2 + MsSql 2005 + Vs 2010(Web项目.Net Framework 3.5)

SubSonic开发步骤图解

步骤一、创建使用的数据库、数据表与新建Web网站项目。

T-Sql脚本如下:

create database SubSonicDB

go

use SubSonicDB

go

create table Boy

(

id int primary key identity,

[name] varchar(250),

age int

)

go

使用SubSonicDB为测试数据库,Boy表为测试表。

创建完数据库之后,打开Vs 2010 ==> 文件 ==> 新建网站 选择好存放的位置点击确定。

步骤二、添加SubSonic框架与配置文件。

在站点中添加SubSonic.dll的引用,或者把下载SubSonic.dll复制到站点的Bin文件夹下,此网站就添加了SubSonic支持,然后就是配置web.config(app.config),1.在web.config(app.config)的configSections节点上先加入SubSonic声明,配置如下:

<section name="SubSonicService" type="SubSonic.SubSonicSection, SubSonic" allowDefinition="MachineToApplication" restartOnExternalChanges="true" requirePermission="false"/>

2.在connectionStrings节点下配置普通的数据库访问字符串,我的配置如下:

<add name="SubSonicConn" connectionString="Data Source=192.168.1.150; Database=SubSonicDB; Integrated Security=true;User ID=sa;Password=sa;"/>

name名称不是固定的可随意起名,但接下来的配置会使用这个name名称,写法也会以前的一致。3.在configuration节点下配置SubSonic配置如下:

<SubSonicService defaultProvider="SubSonicConn" enableTrace="false" templateDirectory="">    <providers>        <clear/>        <add name="SubSonicConn" type="SubSonic.SqlDataProvider, SubSonic"              connectionStringName="SubSonicConn" generatedNamespace="SubSonicConn" removeUnderscores="false" />    </providers></SubSonicService>

这样,SubSonic的配置就完成了。

步骤三、配置SubSonic代码生成器,生成相关类。

点击vs 2010 工具栏中的工具选项 ==> 选择 外部工具 ==> 添加 ==> 标题 可以随便起,我使用的名称为MySubSonicTools ==> 点击命令的选择按钮,选择下载SubSonic的SubCommander文件中的sonic.exe文件 ==> 参数:generate /out Generated,初始目录为:$(ProjectDir),并勾选“使用命令窗口”和“提示输入参数”两个选项,点确定。

如图:

然会工具就会用 MySubSonicTools选项,

点击MySubSonicTools按钮,然会出现弹窗点击确定,刷新网站,就会出现生成的文件夹Generated,如图:

其中Boyxxx相关为Boy表的使用类,AllStructs.cs为主要的控制器文件,StoredProcedures.cs为存储过程相关的类。如果你的操作没有生成这些相关的类,多半是数据库链接字符串配置的问题,检查之后重新生成即可。

步骤四、SubSonic语法使用。

完成以上的三步之后,SubSonic配置就已经完成了,SubSonic使用语法如下:

使用之前要先引用:using Northwind;using SubSonic;

View Code

// 1.添加Boy by = new Boy();by.Name = "Stone";by.Age = 1010;by.Sex = "男";by.Save();

// 2.修改int resultInt = new Update(Boy.Schema)    .Set(Boy.Columns.Sex).EqualTo("你妹")         // 设置字段Sex 值为“你猜”    .Where(Boy.Columns.Id).IsEqualTo("13")    .And(Boy.Columns.Name).IsEqualTo("Stone")    .Execute();

// 3.删除DB.Delete().From(Boy.Schema).    Where(Boy.Columns.Id).IsEqualTo("11").Execute();

// 4.查询GridView1.DataSource = DB.Select().From(Boy.Schema).ExecuteDataSet().Tables[0];// 条件查询 DB.Select().From(Boy.Schema).Where(Boy.Columns.Id).IsEqualTo("11").ExecuteDataSet().Tables[0];GridView1.DataBind();

下载:本文Demo与是使用文档

Orm框架相关文章链接:

1.NHibernate使用之详细图解

2.iBatis for net 框架使用

3.iBatis for Net 代码生成器(CodeHelper)附下载地址

4.NBear简介与使用图解

5.SubSonic框架使用图解

6.GentleNet使用之详细图解

SubSonic框架使用图解相关推荐

  1. php+java+框架整合_ThinkPhP+Apache+PHPstorm整合框架流程图解

    最近在学习使用 ThinkPhP,网上很多都是用一些整合好的服务框架,为了学习,在这里我简单的对Apache.PHP做一个原生的整合,希望对你有帮助. 步骤: ①下载 thinkPHP.PHP.Apa ...

  2. php框架大全图解_PHP框架汇总 - 鱼煎的个人空间 - OSCHINA - 中文开源技术交流社区...

    PHP C 扩展 (Phalcon)https://phalconphp.com/zh/ Zephir/C 扩展的加载与 PHP web 服务器守护进程启动进程一次 类和函数提供的扩展都准备好要使用的 ...

  3. php框架大全图解_图解ThinkPHP5框架(四):一张图彻底吃透框架配置(终结版)

    本课共分10个模块,从配置文件格式(php/ini/json/xml)到场景配置,模块配置,扩展配置,独立配置,动态配置,自定义配置加载,环境变量变量,全景展现一个多彩的ThinkPHP5配置世界~~ ...

  4. iBatis for net 框架使用

    简介:ibatis 一词来源于"internet"和"abatis"的组合,是一个由Clinton Begin在2001年发起的开放源代码项目,到后面发展的版本 ...

  5. NBear简介与使用图解

    NBear简介与使用图解 框架类型:ORM映射框架 简介:NBear是一个基于.Net 2.0.C#2.0开放全部源代码的的软件开发框架类库.NBear的设计目标是尽最大努力减少开发人员的工作量,最大 ...

  6. NHibernate使用之详细图解

    本文档适合初级开发者或者是第一次接触NHibernate框架的朋友,其中NHibernate不是最新的版本,但是一个比较经典的版本 NHibernate 2.1.2,其中用红线标注的部分一定要仔细看, ...

  7. c语言fgetpos的参数,C语言fgetpos()函数:获得当前文件的读写指针(转)

    头文件:#include fgetpos()函数获得当前文件的指针所指的位置,并把该指针所指的位置信息存放到pos所指的对象中.pos以内部格式存储,仅由fgetpos()和fsetpos()使用.f ...

  8. iBatis for Net 代码生成器(CodeHelper)附下载地址(已经升级为V 1.1)

    CodeHelper是一款可以自己定义模板和生成内容的代码生成器,目前只支持MsSql数据库,这款代码生成器的初衷也只是为了生成MyBatis.net框架的配置文件而写的一个轻量级的代码生成器. Co ...

  9. 图解Pandas,又一个Pandas学习利器!

    01写在前面 大家好,我是阳哥. Pandas 可以说是 在Python数据科学领域应用最为广泛的工具之一. Pandas是一种高效的数据处理库,它以 dataframe 和 series 为基本数据 ...

最新文章

  1. IDEA设置注释颜色
  2. java可以转linux么_Java开发必会的Linux命令(转)
  3. 老罗的情怀“被”与廉价划等号 锤子“被”选错了对手
  4. 48 CO配置-控制-获利能力分析-创建经营组织
  5. 大咖来信 | 张亚勤@2018:终日“闭关”读论文,思考终极算法
  6. 如何从我的虚拟环境中更新pip本身?
  7. 毕业答辩的PPT全攻略(要用)
  8. Nexus下载失败解决方案
  9. cad填充图案乱理石_CAD填充图案文件在哪个文件夹里?
  10. Objective-C和C++语法比较
  11. IMX6ULL开发板,系统移植——第一步Uboot移植
  12. css 小尖角,css如何实现气泡的小尖角效果 css实现气泡的小尖角效果代码示例
  13. python讲师陈越_浙大陈越老师数据结构课件
  14. UnicodeDecodeError: ‘gb2312‘ codec can‘t decode byte 0xe9 in position 5632: illegal multibyte sequen
  15. win10系统C盘突然红了爆满占了170G找了几天怎么也找不到哪个文件占用这么多磁盘空间
  16. JAVA_OPTS讲解【转】
  17. 关于CH552G单片机连接电脑和烧录程序的细节总结
  18. An improved Otsu method using the weighted object variance for defect detection-论文阅读笔记
  19. i9 9900k和i9 9900ks有什么区别
  20. LeetCode 221. 最大正方形

热门文章

  1. Nginx(六):配置nginx高可用集群
  2. JAVA知识基础(一):数据类型
  3. Node操作Mysql的简单例子
  4. Sonar与jenkins集成
  5. iBatis——执行原理
  6. 云时代 揭开性能监测战略的隐秘优势
  7. Kubernetes Master High Availability 高级实践
  8. 复杂度O(n)倒转链表
  9. Python获取命令行参数
  10. teamcity mysql 配置_CentOS 7 上 TeamCity 安装