原文:Introduction to SubSonic

介绍了SubSonic,一个数据层构建器

导言

一 个易维护的应用程序,不同的类之间有不同的分工,通常分为界面层、业务层和数据访问层。虽然这一技术有利于更好地组织应用,一些开发人员不愿这么做。创建 一个可靠的和快速的数据访问层需要一些规划,一旦你创建了一个,他们看起来都是相似的。SubSonic帮助你基于数据库自动创建数据库访问层。

SubSonic是什么?

SubSonic是一个数据访问构建器。他还是一个auto-magic 的对象关系映射(ORM)工具,帮助你快速建立一个网站。
像吹嘘的那样,SubSonic能做什么工作,怎么能帮助你更快的建立应用程序?SubSonic通过读取你的数据库的结构,并为你构建快速,灵活的数据 访问层类。他只需要很少的配置,为你提供了不同的方法查询和保存数据,并提供方法给你定制以适应你的开发风格。SubSonic受到Rub on Rails的ActiveRecord的启发,不过SubSonic是一个纯粹的.NET组件。

SubSonic配置

和其它的ORM比较,SubSonic需要的配置很少,最小要求是将下列配置添加到web.config(app.config)文件:

  • 一个或者多个数据库连接串
  • 一个SubSonic配置节
  • 连接适当的数据库连接到SubSonic

就是这么简单-没有必要关心要那些表或配置表和对象的映射关系。在实践中,配置看起来如下:

<configuration>    <!-- 1 - Connection String(s) -->    <connectionStrings>      <add name="Northwind"            connectionString="Data Source=./sqlexpress;Initial              Catalog=Northwind;Integrated Security=True"/>    </connectionStrings>    <configSections>      <!-- 2 - SubSonic section handler -->      <section name="SubSonicService"                 type="SubSonic.SubSonicSection, SubSonic"/>    </configSections>    <!-- 3 - Point SubSonic at the appropriate data source(s) -->    <SubSonicService defaultProvider="Northwind">      <providers>        <add name="Northwind"               type="SubSonic.SqlDataProvider, SubSonic"               connectionStringName="Northwind"               generatedNamespace="Northwind"/>      </providers>    </SubSonicService>  </configuration>
获取数据

一旦你用SubSonic创建了数据访问层(DAL),无论是使用代码生成器还是BuilderProvider,你随时可以查询你的数据库,目前SubSonic支持下列数据库

  • 微软SQL SERVER 2000或2005,包括Express版本
  • Oracle
  • MySQL
  • SQLite
SubSonic为你的数据库里的每个表生成三个类:
  • 表名奇数形式的类;例如有一个表Products,类名就是Product,这是一个强类型的类代表数据库表中的一行数据,表中的每一列对应类中的强类型的属性名,允许null的字段定义为nullable
  • 集合类:例如一个表Products,你将得到ProductCollection 类,这个类提供了好多方法处理数据库的数据
  • 一 个控制器(如ProductController):这提供了基本功能(创建,检索,更新和删除)。 而Product和ProductCollection 能装载自己,是ProductController是专为这些任务而设计的。此外,你可以把控制器作为数据源,为您的网页使用 ObjectDataSource控件。

它同时还具有牛排刀...

用SubSonic,你可能忽视了名字空间SubSonic.Sugar ,但如果你这样做,你错过了一些有用的特性。SubSonic.Sugar 没有迷人的功能,而是它提供的"杂项"的功能包括特性为:

  • 文件操作,如在一个请求打开和阅读文件。
  • 日期操作,如确定两个日期之间有多少工作日。
  • 字符串操作,例如转换,以适当的情况下,或剥HTML格式。
  • 数字操作,如确定如果一个数字是不是整数。
  • Web操作,如打开和阅读一个网页,或执行DNS查找。
  • 验证操作,其中包括通用签证,万事达卡和其他常见的信用卡验证。

扩展SubSonic

没有应用能够提供满足所有需求的解决方案,因此,使用SubSonic所生成的类是不够的。您可能要像生成的类中添加方法,或者你可能要改变生成的类。 SubSonic满足这两方面的需要。

所有的SubSonic生成的类都是局部类。这意味着你可以增加功能到另一个文件,而类的名字时一样的。 如果你不喜欢SubSonic所生成的类,你可以重写模板,模板是asp.net页面。

总结

你 知道你有一个数据库,你需要连接到一个应用。你知不知道在页面中直接发送SQL的请求是一个坏的架构。 你知道你应该为你的应用写一数据层管理CRUD。 你真的想要得到这一切,现在做的,那你可以回家享受天伦之乐。 帮您解决所有这些在优点于一体,而不牺牲性能,可维护性和灵活性。 现在就去下载它并给它一个尝试。 你的应用会谢谢你的。

Subsonic 介绍相关推荐

  1. Subsonic介绍及使用

    官方网站:http://subsonicproject.com/ 介绍原文:http://www.keyusoft.cn/(S(3wcpdjv14wpvdr55i3bidx55))/Default.a ...

  2. SubSonic介绍和相关文章

    介绍了SubSonic,一个数据层构建器 导言 一 个易维护的应用程序,不同的类之间有不同的分工,通常分为界面层.业务层和数据访问层.虽然这一技术有利于更好地组织应用,一些开发人员不愿这么做.创建 一 ...

  3. Subsonic介绍

    SubSonic,一个数据层构建器 导言 一 个易维护的应用程序,不同的类之间有不同的分工,通常分为界面层.业务层和数据访问层.虽然这一技术有利于更好地组织应用,一些开发人员不愿这么做.创建 一个可靠 ...

  4. subsonic mysql_Subsonic 介绍

    SubSonic:一个数据层构建器(BLL) 导言 一 个易维护的应用程序,不同的类之间有不同的分工,通常分为界面层.业务层和数据访问层.虽然这一技术有利于更好地组织应用,一些开发人员不愿这么做.创建 ...

  5. Subsonic设置--新手上路

    前言 在刚开始使用中就碰到问题:按照官方的方法配置,总是不能编译时自动生成数据访问层代码(其中一种,也可使用命令行自己生成,下面介绍).本文只要介绍了这两种配置subsonic的方法. 1.配置方法 ...

  6. bltoolkit mysql_.NET 轻量级 ORM 框架 - Dapper 介绍

    转自:https://blog.csdn.net/hanjun0612/article/details/52170204 Dapper简单介绍: Dapper is a single file you ...

  7. SubSonic的配置方法

    在刚开始使用中就碰到问题:按照官方的方法配置,总是不能编译时自动生成数据访问层代码(其中一种,也可使用命令行自己生成,下面介绍).本文只要介绍了这两种配置subsonic的方法. 1.配置方法 自动在 ...

  8. SubSonic的配置方法浅谈

    在刚开始使用中就碰到问题:按照官方的方法配置,总是不能编译时自动生成数据访问层代码(其中一种,也可使用命令行自己生成,下面介绍).本文只要介绍了这两种配置subsonic的方法. 1.配置方法 自动在 ...

  9. Subsonic的使用之基本语法、操作

    这里简单介绍一下Subsonic的一些基本操作语法:如查询.新增.修改.删除操作等. 注:个人学习和使用总结,仅供参考,不足之处,敬请批评指证!以下的语句都是经过测试通过的! 查询: 可以使用new ...

最新文章

  1. Leetcode刷题 225题:用队列实现栈(基于Java和c++两种语言)
  2. 【解决方案】VS2017读取文件中文乱码,其他软件打开却没事
  3. linux 命令last -x,Linux常用命令last的使用方法详解
  4. 使用Cucumber+Rspec玩转BDD(2)——邮件激活
  5. android ndk 多线程mk,Android NDK 开发教程六: application.mk
  6. 【安全牛学习笔记】初识sql注入漏洞原理
  7. 交换机的RTU License 华为S5700交换机
  8. directX 简介
  9. png图片转化为ico图标并保留透明背景方法
  10. oracle查询语句 switch,ORACLE SQL语句中的“SWITCH语句”函数DECODE
  11. 全美航班停飞原因曝光/ 米哈游辟谣年终奖108薪/ 苹果正开发触摸屏Mac…今日更多新鲜事在此...
  12. 手机充电原理分析及问题总结
  13. 最小二乘法解的矩阵形式推导
  14. 《纽约时报》发文评选掀起区块链革命的10位代表性人物,吴忌寒上榜
  15. 涂鸦智能将登陆纽交所:赤字约2亿美元,高管出自阿里,转投腾讯
  16. 网站邀请码php,简单的PHP邀请码系统
  17. VMware虚拟机更改Mac系统的屏幕分辨率
  18. java-----项目1(家庭收支管理系统)
  19. 怎么安装PDF转换器绿色版?PDF能转换成Excel格式吗?
  20. VMware VirtualCenter Servere服务不能启动的解决方法

热门文章

  1. Android VideoView没有画面
  2. BZOJ5084: hashit
  3. PHP获取当前页面完整URL地址
  4. 一个简单的员工薪资管理系统(大一\二实训课)
  5. thinkphp框架的使用
  6. windos 为什么会突然服务停止了_Win7系统print spooler服务总是自动停止怎么办?
  7. PAT——1045 快速排序
  8. 微型计算机原理应用总结,微机原理应用复习提纲及重要知识点总结
  9. 为什么span,label,是行级元素,div,p等等是块级元素
  10. 安凯Cloud39EV200/V300平台支持ssv6255的双频usb wifi移植过程