业务逻辑层的设计(四)——表模块模式简介

表模块(Table Module)

表模块模式不仅可以用VS的DataSet实现,也是O/RM初学者所常用的。

先来宏观地看一下操作流程:

通过创建一个DataSet数据集,添加一个表,轻松构建一个强类型的DataSet

可以为它添加一个查询

非常轻松,VS将自动生成查询SQL,但是SQL语句无法太复杂,不能超出VS的识别范围。

调用方法:

可以看到它返回的是一个强类型的DataTable,使用起来非常方便,但是当你实战中用的时候,会发现问题的,比如你有一个备注字段是Null,试试看吧,至少在.NET2.0中就悲剧了。

 

表数据网关模式:

用代码直观地表示:

在数据网关中执行SQL命令返回想要的数据集,然后在业务类中处理,得到想要的结果。

业务类

    PPDataSet.PP_VIRTUALSENDCONTROLDataTable _table=null;

    public VirtualSendControlManager() { }

    public VirtualSendControlManager(PPDataSet.PP_VIRTUALSENDCONTROLDataTable table)
    {
        _table = table;
    }

    public PPDataSet.PP_VIRTUALSENDCONTROLRow GetRow(int index)
    {
        if (_table.Rows.Count == 0)
        {
            return null;
        }
        return _table.Rows[index] as PPDataSet.PP_VIRTUALSENDCONTROLRow;
    }


小结:

VS生成的强类型的DataTable给我们带来很多便利,它可以是某个表,也可以是视图。

表模块模式不仅可以用VS的DataSet实现,也是O/RM初学者所常用的。

posted @ 2013-07-26 00:22  十三燕  阅读(3434)  评论(2编辑  收藏  举报