SubSonic框架使用图解
简介: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;
// 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框架使用图解相关推荐
- php+java+框架整合_ThinkPhP+Apache+PHPstorm整合框架流程图解
最近在学习使用 ThinkPhP,网上很多都是用一些整合好的服务框架,为了学习,在这里我简单的对Apache.PHP做一个原生的整合,希望对你有帮助. 步骤: ①下载 thinkPHP.PHP.Apa ...
- php框架大全图解_PHP框架汇总 - 鱼煎的个人空间 - OSCHINA - 中文开源技术交流社区...
PHP C 扩展 (Phalcon)https://phalconphp.com/zh/ Zephir/C 扩展的加载与 PHP web 服务器守护进程启动进程一次 类和函数提供的扩展都准备好要使用的 ...
- php框架大全图解_图解ThinkPHP5框架(四):一张图彻底吃透框架配置(终结版)
本课共分10个模块,从配置文件格式(php/ini/json/xml)到场景配置,模块配置,扩展配置,独立配置,动态配置,自定义配置加载,环境变量变量,全景展现一个多彩的ThinkPHP5配置世界~~ ...
- iBatis for net 框架使用
简介:ibatis 一词来源于"internet"和"abatis"的组合,是一个由Clinton Begin在2001年发起的开放源代码项目,到后面发展的版本 ...
- NBear简介与使用图解
NBear简介与使用图解 框架类型:ORM映射框架 简介:NBear是一个基于.Net 2.0.C#2.0开放全部源代码的的软件开发框架类库.NBear的设计目标是尽最大努力减少开发人员的工作量,最大 ...
- NHibernate使用之详细图解
本文档适合初级开发者或者是第一次接触NHibernate框架的朋友,其中NHibernate不是最新的版本,但是一个比较经典的版本 NHibernate 2.1.2,其中用红线标注的部分一定要仔细看, ...
- c语言fgetpos的参数,C语言fgetpos()函数:获得当前文件的读写指针(转)
头文件:#include fgetpos()函数获得当前文件的指针所指的位置,并把该指针所指的位置信息存放到pos所指的对象中.pos以内部格式存储,仅由fgetpos()和fsetpos()使用.f ...
- iBatis for Net 代码生成器(CodeHelper)附下载地址(已经升级为V 1.1)
CodeHelper是一款可以自己定义模板和生成内容的代码生成器,目前只支持MsSql数据库,这款代码生成器的初衷也只是为了生成MyBatis.net框架的配置文件而写的一个轻量级的代码生成器. Co ...
- 图解Pandas,又一个Pandas学习利器!
01写在前面 大家好,我是阳哥. Pandas 可以说是 在Python数据科学领域应用最为广泛的工具之一. Pandas是一种高效的数据处理库,它以 dataframe 和 series 为基本数据 ...
最新文章
- IDEA设置注释颜色
- java可以转linux么_Java开发必会的Linux命令(转)
- 老罗的情怀“被”与廉价划等号 锤子“被”选错了对手
- 48 CO配置-控制-获利能力分析-创建经营组织
- 大咖来信 | 张亚勤@2018:终日“闭关”读论文,思考终极算法
- 如何从我的虚拟环境中更新pip本身?
- 毕业答辩的PPT全攻略(要用)
- Nexus下载失败解决方案
- cad填充图案乱理石_CAD填充图案文件在哪个文件夹里?
- Objective-C和C++语法比较
- IMX6ULL开发板,系统移植——第一步Uboot移植
- css 小尖角,css如何实现气泡的小尖角效果 css实现气泡的小尖角效果代码示例
- python讲师陈越_浙大陈越老师数据结构课件
- UnicodeDecodeError: ‘gb2312‘ codec can‘t decode byte 0xe9 in position 5632: illegal multibyte sequen
- win10系统C盘突然红了爆满占了170G找了几天怎么也找不到哪个文件占用这么多磁盘空间
- JAVA_OPTS讲解【转】
- 关于CH552G单片机连接电脑和烧录程序的细节总结
- An improved Otsu method using the weighted object variance for defect detection-论文阅读笔记
- i9 9900k和i9 9900ks有什么区别
- LeetCode 221. 最大正方形