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;

 

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使用之详细图解

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547704.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用户代理de疑惑

2019独角兽企业重金招聘Python工程师标准>>> 在计算机科学中&#xff0c;用户代理&#xff08;英语&#xff1a;User Agent&#xff09;指的是代表使用者行为的软件&#xff08;软件代理程序&#xff09;所提供的对自己的一个标识符。例如&#xff0c;一个电子邮件阅…

问题“The connection to the server....:6443 was refused - did you specify the right host or port?”的处理!

问题“The connection to the server <master>:6443 was refused - did you specify the right host or port?”的处理&#xff01; 一、故障产生 在不关闭kubernets相关服务的情况下&#xff0c;对kubernets的master节点进行重启。&#xff08;模拟服务器的异常掉电&a…

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

CodeHelper是一款可以自己定义模板和生成内容的代码生成器&#xff0c;目前只支持MsSql数据库&#xff0c;这款代码生成器的初衷也只是为了生成MyBatis.net框架的配置文件而写的一个轻量级的代码生成器。CodeHelper下载文件包介绍&#xff1a;Template\... 存放模板文件夹&…

在Access中执行SQL语句

Access在小型系统开发中等到了广泛使用。虽然Access提供了可视化的操作方法&#xff0c;但许多开发人员还是喜欢直接用SQL语句操作数据表。如何在Access中打开SQL视图&#xff0c;对于初次使用Access的程序员可得费点时间呢。 1、ACESS2007 &#xff08;1&#xff09;点击“创建…

K8S+Helm 安装 Jupyterhub

准备配置文件 生成随机数 openssl rand -hex 32 # 8fc2826e9ce6930ec26c9fd541c0620b448a947357edbdf9647516af16bbc798配置config.yaml如下&#xff0c;token是上一步生成 proxy:secretToken: "8fc2826e9ce6930ec26c9fd541c0620b448a947357edbdf9647516af16bbc798&quo…

iBatis for net 框架使用

简介&#xff1a;ibatis 一词来源于“internet”和“abatis”的组合&#xff0c;是一个由Clinton Begin在2001年发起的开放源代码项目&#xff0c;到后面发展的版本叫MyBatis但都是指的同一个东西。最初侧重于密码软件的开发&#xff0c;现在是一个基于Java的持久层框架&#x…

php 图片后缀,PHP如何实现图片无后缀

在偶然间网站开发&#xff0c;实现网页内容抓取的时候&#xff0c;发现有些图片居然没有后缀。然后怀着踽踽独行的心态&#xff0c;去尝试了下这个以前没有遇见过的“重大发现”&#xff1a;当完成测试后&#xff0c;发现其原理&#xff0c;也是真心简单&#xff0c;其实也就是…

Office Web Apps Server 2013与PDF(一)

好吧……这个消息有点旧&#xff0c;迟了将近4个月。 Office Web Apps是微软各大服务产品系列中的一个基础服务&#xff0c;可以为SharePoint 2013、Exchange 2013、Lync 2013提供企业内文档的在线预览和编辑功能&#xff1b;同时它也是一个基础的互联网服务&#xff0c;为诸如…

nifi 实现数据库到数据库之间数据同步

数据同步 界面如下&#xff1a; 具体流程&#xff1a; 1、使用ExecuteSQL连接mysql数据库&#xff0c;通过写sql查询所需要的数据 2、nifi默认查出来的数据为Avro格式&#xff0c;所以需要ConvertAvroToJSON把Avro格式转化为json格式的数据 3、使用ConvertJSONToSQL把json数据转…

php 文件 后缀,php如何修改文件后缀名

php修改文件后缀名的方法&#xff1a;首先创建PHP文件&#xff1b;然后定义一个“changeTypeName”方法&#xff1b;接着获取文件绝对路径&#xff1b;最后通过“rename($fileRealPath, $compressCssFileRealPath);”修改即可。php 改变文件目录下文件的后缀名changeTypeName(&…

windows自定义快速启动(运行)命令

自定义运行&#xff08;windows键R&#xff09;里面命令&#xff0c;启动设置的程序&#xff0c;如图&#xff1a;它的设置方法有两种&#xff1a; 第一种设置方法&#xff1a; 第1步&#xff1a;在任意地方创建一个文件夹&#xff08;建议在D盘根目录创建&#xff09;&#xf…

python RSA加密、解密、签名

python中用于RSA加解密的库有好久个&#xff0c;本文主要讲解rsa、M2Crypto、Crypto这三个库对于RSA加密、解密、签名、验签的知识点。 知识基础 加密是为了保证传输内容隐私&#xff0c;签名是为了保证消息真实性。 服务器存私钥&#xff0c;客户端存公钥。&#xff08;服务…

DataGridview动态添加列

1.获取数据源&#xff08;select * from table名称&#xff09; 2.动态绑定数据源 1 private void GetTableInfo(DataTable dt)2 {3 listBh new List<BH_DICTInfo>();4 foreach (DataRow dr in dt.Rows)5 {6 …

C# 控制台应用程序输出颜色字体[更正版]

首先感谢院子里的“yanxinchen”&#xff0c;之前的方法是通过c#调用系统api实现的&#xff0c;相比之下我的有点画蛇添足了&#xff0c;哈哈。 最佳解决方案的代码&#xff1a; static void Main(string[] args){ Console.ForegroundColor ConsoleColor.Green; Consol…

MXNet结合kubeflow进行分布式训练

GPU集群配置MXNetCUDA 为方便控制集群&#xff0c;写了脚本cmd2all.sh #!/bin/bash if [ $# -lt 3 ]; thenecho "usage: $0 [type cmds hosts]"echo "for example: ./cmd2all.sh \"cmds\" \"touch t1.txt\" \"gpu1 gpu2\""…

基于Opencv的水位识别,液面识别、高度识别

Update 代码已经上传到github上了&#xff0c;可以点这里 Cutting 一直说这要整理一下Computer Vision课程的大作业&#xff0c;拖了好久。这两天忙着写一个订单处理的第三方库&#xff0c;陷入了僵局&#xff0c;所以换个口味&#xff0c;把大作业整理一下。 Requirement W…

Openshift3.9部署手册

说明&#xff1a;本文主要介绍通过Ansible来部署Openshift 3.9 一、准备 系统准备 节点类型说明Masters 物理主机或者虚拟机 系统&#xff1a;Fedora 21, CentOS 7.3, 7.4或者7.5 最少4vCPU 最少16GB内存 /var/最少40GB空间 /usr/local/bin最少1GB空间 容器临时目录最少1GB空…

Solr入门——安装

为什么80%的码农都做不了架构师&#xff1f;>>> Solr网址http://lucene.apache.org/solr/ OSC地址&#xff1a;http://www.oschina.net/p/solr 下载地址&#xff1a;http://www.apache.org/dyn/closer.cgi/lucene/solr/4.3.1 解压 1、拷贝 solr-4.3.1/dist/…

java调用小冰,Java利用微软小冰API测颜值

【需求背景】七月入职&#xff0c;做了一个交友mini项目&#xff0c;有涉及一个给人脸颜值评分的需求。经过网上搜索&#xff0c;发现微软小冰可以很好解决这个需求。【说明】根据mini项目&#xff0c;用Spring-boot框架实现了一个demo&#xff0c;在html页面&#xff0c;上传个…

svn完整搭建

安装软件 # yum install httpd mod_dav_svn subversion mod_ssl 查看是否安装成功#svn --version 如果出现版本号如则说明svn安装成功查看httpd配置文件/etc/httpd/conf/httpd.conf如果找到这说明apache模块安装正确配置1.创建版本库# mkdir -pv /svn/date --创建主目录# svn…