网上.net ORM框架也不少,但是我感觉这个框架配置很简单的,前几年貌似用的人很多,现在好像用得比较少了,随着它官方的升级现在已经到3.0了, 并且采用T4 模板生成的方式,代码量好像减少了。不过我感觉2.2还是比较稳定,前些天有网友问这个框架怎么使用,在次让我整理了一下。废话就不说了,先看看怎么配置使用吧

步骤一 配置web.config:

在configSections节点上先加入SubSonic声明代码如下:

    <configSections>

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

    </configSections>

    <appSettings/>

直接是连接数据库文件

    <connectionStrings>

        <add name="SubSonicConn" connectionString="Data Source=127.0.0.1; Database=agebook; Integrated Security=true;User ID=sa;Password=sa;" providerName="System.Data.SqlClient"/>

    </connectionStrings>

在<configuration>内配置节点下配置SubSonic服务配置如下:

别忘了在中间加入<clear/>

首先看看name这个可以随便取

connectionStringName="SubSonicConn" 这个是对应连接名称

generatedNamespace="MyTest" 这个也是随便取的的但是记得对应类命名空间名就行

    <SubSonicService defaultProvider="SubSonicConn" enableTrace="false" templateDirectory="">

        <providers>

            <clear/>

            <add name="SubSonicConn" type="SubSonic.SqlDataProvider, SubSonic" connectionStringName="SubSonicConn" generatedNamespace="MyTest" removeUnderscores="false"/>

        </providers>

    </SubSonicService>

OK配置文件信息好了

接下来倒入SubSonic.dll即可

步骤二:接下来配置代码生成工具:

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

Out ormclass 这个得注意了如果你新建的时网站程序一定要放到App_Code中

如图:

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

如果没有App_Code中请移到里面即可

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

步骤三:SubSonic方法调用

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

使用之前要先引用:

using MyTest; //这个是我们在配置文件中的名称即就是生成类的命名空间名称

using SubSonic;

加载页面代码

       if (!IsPostBack)
{
// 1.添加
A_Admin ad = new A_Admin();
ad.Name = "ttttt";
ad.Password = "wwwwwwwwww";
ad.Loginip = "127.0.0.1";
ad.Save();
// 2.修改
int updateallid = new Update(A_Admin.Schema)
.Set(A_Admin.Columns.Password).EqualTo("密码修改了") // 设置字段Password值为“密码修改了”
.Where(A_Admin.Columns.Id).IsEqualTo("")
.Execute();
//当然修改还有其它方法
//A_Admin ad1 = new A_Admin();
//ad1.Id = 24;
//ad1.Name = "ttttt";
//ad1.Password = "wwwwwwwwww";
//ad1.Loginip = "127.0.0.1"; // 3.删除
// DB.Delete().From(A_Admin.Schema).Where(A_Admin.Columns.Id).IsEqualTo("7").Execute();
A_Admin.Delete();
//批量删除
//Query q = A_Admin.Query();
//q.AddWhere(A_Admin.Columns.Password, "wwwwwwwwww");
//q.QueryType = QueryType.Delete;
//q.Execute(); //以上两种方法都可以 // 4.查询
this.GridView1.DataSource = DB.Select().From(A_Admin.Schema).ExecuteDataSet().Tables[];
this.GridView1.DataBind(); }

以上代码包括 增、删、改、查方法

感觉是不是很简单,比起其它orm框架如 Nhibernate省去了配置xml这些麻烦。

其实在开发中不管你用什么ORM框架用着熟练顺手就行, 用EF也行。甚至抛开这些框架直接ADO

本例demo下载:请点击我

SubSonic2.2框架的使用方法和配置说明的更多相关文章

  1. tornado框架的get方法传递参数

    tornado框架的get方法传递参数,代码: # encoding: utf-8 """ @version: ?? @author: andu99 @contact: ...

  2. 【CI3.1】CI框架简单使用方法

    CI框架简单使用方法 1.回忆MVC 1.1.M:模型,提供数据,保存数据 1.2.V:视图,只负责显示,表单form 1.3.C:控制器,协调模型和视图 1.4.action:动作,是控制器中的方法 ...

  3. Python单元测试框架unittest使用方法讲解

    这篇文章主要介绍了Python单元测试框架unittest使用方法讲解,本文讲解了unittest概述.命令行接口.测试案例自动搜索.创建测试代码.构建测试套件方法等内容,需要的朋友可以参考下   概 ...

  4. express 框架的使用方法

    express  框架的使用方法: 第一步: 生成一个 (express)项目工程 命令提示框的指令是: express    (文件名) express    -e      (文件名) 两段指令的 ...

  5. [BUGCASE]CI框架的post方法对url做了防xss攻击的处理引发的文件编码错误

    一.问题描述 出现问题的链接: http://adm.apply.wechat.com/admin/index.php/order/detail?country=others&st=1& ...

  6. JQ和其他框架一起使用方法

    时下,越来越多的javascripe框架不断崛起,同时开源网站系统也之间增多.网站建设过程中当使用一些开源的网站程序时,免不了会在javascript上产生冲突.也许网站的开发者习惯使用jQuery, ...

  7. AndroidAnnotations框架简单使用方法

    当我们配置好了框架后,那么久可以来使用了.使用教程网上一大堆,官方也有提供!!!可自行学习深造.下面我简单的贴出几个常用的方法,作为HelloWorld入门: @EActivity(R.layout. ...

  8. ThinkPHP5.0更改框架的验证方法对象->validate(true)->save();

    我们更希望看到: // 新增对象至数据表 $result = $Teacher->validate(true)->save(); 而不是: // 新增对象至数据表 $result = $T ...

  9. Python Nose框架编写测试用例方法

    1. 关于Nose nose项目是于2005年发布的,也就是 py.test改名后的一年.它是由 Jason Pellerin 编写的,支持与 py.test 相同的测试习惯做法,但是这个包更容易安装 ...

随机推荐

  1. Tomcat7.0启动报错:java.lang.illegalargumentexception:taglib definition not consisten with specification version

    Tomcat7.0启动报错:java.lang.illegalargumentexception:taglib definition not consisten with specification ...

  2. 15款免费的 HTML5/CSS3 响应式网页模板

    如果你想快速制作出一个优秀的网站,网站模板一定是必不可少的.网页设计师和开发人员也可以从网站模板入手,学习先进的布局方式和编码风格.下面这个列表为大家挑选了15款免费的 HTML5/CSS3 响应式网 ...

  3. Metronic – 超赞!基于 Bootstrap 的响应式后台管理模板

    Metronic 是一套精美的响应式后台管理模板,基于强大的 Twitter Bootstrap 框架实现.Metronic 拥有简洁优雅的 Metro UI 风格界面,6 种颜色可选,76 个模板页 ...

  4. [Matlab] tic toc

    tic Start a stopwatch timer.    tic and TOC functions work together to measure elapsed time.    tic, ...

  5. web前端学习笔记(CSS盒子的浮动)

    在标准流中,一个块级元素在水平方向会自动伸展,直到包含它的元素的边界:而在竖直方向和兄弟元素依次排列,不能并排.使用“浮动”方式后,块级元素的表现就会有所不同.      CSS中有一个float属性 ...

  6. oracle表数据类型number对应java中BIgDecimal转int

    oracle中id为number类型,在java获取id时用getBigDecimal 相匹配, 如果想转换成int,重写model中的getInt方法: public Integer getInt( ...

  7. 50款免费 PSD 名片设计模板源文件下载《下篇》

    名片是陌生人之间建立联系的最便捷.最有效的工具.名片它可能是给你的客户留下正面的印象第一步,另一方面,名片是一个企业最重要和最符合成本效益的营销工具之一,尤其是对于刚刚起步的企业.这里收集了50款免费 ...

  8. JAVA 设计模式 享元模式

    用途 享元模式 (Flyweight) 运用共享技术有效地支持大量细粒度的对象. 享元模式是一种结构型模式. 结构

  9. 【Swift学习】Swift编程之旅(三)

    元组(tuples) tuples是将多个单一的值组合为一个复合的值.它可以包含任何类型的值,而不需要都是相同类型. 一.元组的创建 1. let http404error = (,"NOT ...

  10. OpenJudge 2990:符号三角形 解析报告

    2990:符号三角形 总时间限制:  1000ms       内存限制:  65536kB 描述 符号三角形的第1行有n个由“+”和”-“组成的符号 ,以后每行符号比上行少1个,2个同号下面是”+“ ...