SubSonic2.2框架的使用方法和配置说明
网上.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下载:请点击我
最新文章
- Razor Engine,实现代码生成器的又一件利器
- 详细解读Android中的搜索框—— SearchView
- 一步一步搭建客服系统 (6) chrome桌面共享
- 【C#】属性(Attribute)
- log4
- C++中string 的使用
- 【log4net】配置文件
- Android中使用WebView与JS交互全解析
- C语言学习笔记--枚举&;结构体
- 最小路径覆盖 hdu 1151 hdu 3335
- python安装pip
- .net大型分布式电子商务架构说明(转载来自<;头条>;)
- mysql批量修改列名为小写
- TestOps宣言
- 【java并发核心一】Semaphore 的使用思路
- JForum 源码分析
- 关于Unity中的刚体和碰撞器的相关用法(一)
- Python之重复执行
- c# 抓取和解析网页,并将table数据保存到datatable中(其他格式也可以,自己去修改)
- 【Python】第一篇:python基础_1
热门文章
- Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式
- java基础题目总结
- Javascript动画效果(三)
- 使用Node.JS访问Hyperledger Fabric的gRPC服务
- solr的suggest模块
- H5新特性websocket
- [DBW]大图轮播,可通过两种方法实现
- 用c#开发微信 (4) 基于Senparc.Weixin框架的接收事件推送处理 (源码下载)
- .net批量上傳Csv檔資料應用程序開發總結
- php.ini 配置详细选项