asp.net2.0里面的objectdatasource可以使数据显示控件gridview等进行绑定显示,编辑。还可以支持内置的分页,排序等。使用了orm之后,一样可以使用objectdatasource。
这里的分页不再是从数据库取出所有,然后选择性绑定,而是直接在数据库取出第几页,然后绑定。这个差别还是十分巨大的,效率大大提高。
编辑,创建,排序也都是,直接由objectdatasource提供,不需要再gridview中写什么代码。
这样,可以把object设计的包含有不少逻辑,至少是对数据库操作的,而ui就显得比较简单,剥离的再开一点,对以后移植到win上,或者做成smartclient都比较有益。
这里有一片blog,讲的比较好http://www.evosoftworks.com/articles/wormods.aspx。
我用的正好也是wilsonorm,所以照此也作了一个。
基本的结构是这样的:
ui(gridview等控件--objectdatasource控件)----〉objectdatasource类(object,写crud分页等逻辑)---〉(orm实现crud)---〉db
主要有几步
1:给object增加属性和方法,来完成crud,分页等逻辑
2:配置gridview等ui控件连接到objectdatasource控件。
先看第一个
1:给object增加属性和方法,来完成crud,分页等逻辑。该object类由工具根据db结构生成,同时生成的还有mapping文件。
首先,给该object增加一个标示属性dataobject(),在system.componentmodel命名空间里面 [dataobject()]
public class productdescription
{ 第二,给这个object类增加crud的方法。
先看一个insert方法
[dataobjectmethod(dataobjectmethodtype.insert)]
public static void insert(productdescription productdescription)
{
try
{
manager.datamanager.starttracking(productdescription, initialstate.inserted);
manager.datamanager.persistchanges(productdescription);
}
catch (exception ex)
{
log.error(ex);
}
} 这个方法前面需要加一个[dataobjectmethod(dataobjectmethodtype.insert)]属性,表示这是insert方法;
这个方法是静态公开的方法;
参数,就是这个object本身的一个实例。这样比较好,因为在逻辑好很好理解,都是在对object进行操作。
剩下的,delete,update方法也是这样写。
然后看看select方法,比较特殊。
select方法
1 [dataobjectmethod(dataobjectmethodtype.select)]
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器