ExtAspNet应用技巧(十一)

前言

曾经尝试过很多DotNet下的ORM工具(只是DotNet2.0下的),有IBatis.Net, NHibernate, MyGeneration doodads, Microsoft EntLib, SubSonic等,觉得最简单的要数doodads,最好用的当属 SubSonic。

因此在AppBox项目中,我毫不犹疑的选择SubSonic作为ORM工具。为了兼容dotnet2.0的程序,我们不 会使用最新的SubSonic3.0版本,而是使用SubSonic2.2版本。 因为2.2版本已经有两年左右的稳定时间, 所以应该不会出现大的BUG并且很容易在网上找到问题的解决办法。

约定优先于配置

这是一条由 Ruby On Rails 发扬广大的编程规则,SubSonic也非常重视这条规则,并在创建数据库表 时有一些有用的约定:

1. 每个表都应该包含如下四个列(不是必需的),这样在使用SubSonic的创建和更新函数时可以方便 的修改这些字段:

CreatedOn (datetime)

CreatedBy (nvarchar(50))

ModifiedOn (datetime)

ModifiedBy (nvarchar(50))

2. 如果你想使用逻辑删除,可以增加列:Deleted (bit)

这样当你调用数据库表映射类的静态方法 Delete 时,SubSonic会首先判断此表是否存在Deleted字段 ,如果存在则设为true。否则,则调用 Destory 函数,即是永久删除。

3. 对表名和列名的约定。

表名为单数形式

列名不要包含保留字(比如system,string等)

列名不要和表名相同

那么如何在Asp.net2.0 WebApplication项目中使用SubSonic,我想大概有如下几个步骤:

创建数据库和表

配置Web.config

通过sonic.exe连接数据库,生成所有的映射类

使用映射类对数据库进行CRUD

创建数据库和表

时间: 2024-12-11 10:29:39

ExtAspNet应用技巧(十一)的相关文章

ExtAspNet应用技巧

ExtAspNet ExtAspNet - ExtJS based ASP.NET Controls with Full AJAX Support ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果,目标是创建没有ViewState,没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序. 支持的浏览器: IE 7.0+, Firefox 3.6+, Chrome 3.0+, Opera 10.5+,

ExtAspNet应用技巧(二十一)

引子 前一段时间发了一篇文章基于ExtAspNet的开源项目 - Ext4JSLint,这个东东也算是我拿ExtAspNet做 的第一个小应用.还是有一些应用方面的技巧,接下来的几篇文章就和大家分享一下. Ext4JSLint是使用ExtAspNet来展示JSLint-Toolkit的结果. JSLint-Toolkit是一个使用Rhino和JSLint的小项目,可以对一个文件夹中的所有JavaScript进行语法 检查,并显示友好的检查结果. 我曾写了一篇文章来介绍JSLint-Toolkit

ExtAspNet应用技巧(二十三)

引子 Ext4JSLint是使用ExtAspNet来展示JSLint-Toolkit检查结果的开源项目. JSLint-Toolkit是一个使用Rhino和JSLint的开源项目,可以对一个文件夹中的所有JavaScript进行语 法检查,并显示友好的检查结果. 下面是JSLint-Toolkit为JavaScript生成的错误列表: 1.[ 2. [3, 39, 20, "Expected a number and instead saw '''.", "/Expected

ExtAspNet应用技巧(一)

如何有效控制表单中控件的位置? 我们就拿一位网友的例子来说明这个问题,首先看段使用ExtAspNet的代码: <ext:PageManager ID="PageManager1" runat="server"></ext:PageManager> <ext:Panel ID="Panel1" runat="server" BodyPadding="5px" EnableBack

ExtAspNet应用技巧(十三)

书接上回,在系统登录之后,就要显示主页面了,先看下效果: 界面效果 点击"退出系统"按钮: 整个页面被分为了三部分,上面的是页面标题和工具栏:左侧的是系统菜单:右侧的主内容区域. 需要特别注意的是,在主内容区域我们使用了IFrame,这也是ExtAspNet提倡的一种做法. 这种IFrame框架不仅加快了页面的加载速度,而且代码逻辑以页面的形式组织划分,对于代码编写调 试以及多人开发都极其有利.

ExtAspNet应用技巧(二十二)

引子 Ext4JSLint是使用ExtAspNet来展示JSLint-Toolkit检查结果的开源项目. JSLint-Toolkit是一个使用Rhino和JSLint的开源项目,可以对一个文件夹中的所有JavaScript进行语 法检查,并显示友好的检查结果. 下面是JSLint-Toolkit生成的检查结果: 01.[{ 02. "name": "source", 03. "type": "folder", 04. &qu

ExtAspNet应用技巧(二十)

引子 在刚刚发布的ExtAspNet v2.1.1版本中,应网友要求添加了ext:Timer控件,实现的效果就是定时回发 (AJAX)到服务器执行一段C#代码. 因为这个控件非常简单,没有页面可视元素,所以我就单独拿出来讲解一下,或许对大家阅读 ExtAspNet源代码有一定的帮助. 使用Timer控件 先来看下使用Timer的例子(在线版本): ASPX标签声明: 01.<ext:PageManager ID="PageManager1" runat="server&

ExtAspNet应用技巧(十七)

界面截图 点击"新增菜单",在父页面弹出对话框,选择父菜单为"==根节点==",这里模拟树的下拉列表是 不是很酷(这也是ExtAspNet的一个特色): 点击"保存并继续",首先会AJAX回发到服务器并新增菜单到数据库,然后重新绑定下拉列表并弹出 对话框:

ExtAspNet应用技巧(十六)

界面截图 模拟树的Grid,这个是ExtAspNet中Grid控件的一个特色哦,是不是很方便: 点击CheckBox自动回发,并修改数据库此条数据的状态: 点击删除弹出确认对话框,注意这个对话框是在父页面中弹出的: