到目前为止,我们还未涉及任何数据库的配置工作。本章节将简单介绍基于Apworks的应用程序的数据库配置。在SQL Server中(目前的Apworks版本仅支持SQL Server)创建两个数据库:TinyLibraryEventDB和TinyLibraryQueryDB,然后分别执行如下SQL脚本:

  • TinyLibraryEventDB
    USE TinyLibraryEventDB;
    /****** Object:  Table [dbo].[DomainEvents]    Script Date: 12/24/2010 20:27:20 ******/
    'U'))
    TABLE [dbo].[DomainEvents]
    GO
    /****** Object:  Table [dbo].[Snapshots]    Script Date: 12/24/2010 20:27:20 ******/
    'U'))
    TABLE [dbo].[Snapshots]
    GO
    /****** Object:  Table [dbo].[Snapshots]    Script Date: 12/24/2010 20:27:20 ******/
    ON
    GO
    ON
    GO
    'U'))
    BEGIN
    TABLE [dbo].[Snapshots](
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    CLUSTERED 
      27: (
    ASC
    ON)
      30: )
    END
    GO
    /****** Object:  Table [dbo].[DomainEvents]    Script Date: 12/24/2010 20:27:20 ******/
    ON
    GO
    ON
    GO
    'U'))
    BEGIN
    TABLE [dbo].[DomainEvents](
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    CLUSTERED 
      50: (
    ASC
    ON)
      53: )
    END
      55: GO
  • TinyLibraryQueryDB
    USE TinyLibraryQueryDB;
    /****** Object:  Table [dbo].[Books]    Script Date: 12/14/2010 14:12:31 ******/
    'U'))
    TABLE [dbo].[Books]
    GO
    /****** Object:  Table [dbo].[Readers]    Script Date: 12/14/2010 14:12:31 ******/
    'U'))
    TABLE [dbo].[Readers]
    GO
    /****** Object:  Table [dbo].[Registrations]    Script Date: 12/14/2010 14:12:31 ******/
    'U'))
    TABLE [dbo].[Registrations]
    GO
    /****** Object:  Table [dbo].[Registrations]    Script Date: 12/14/2010 14:12:31 ******/
    ON
    GO
    ON
    GO
    'U'))
    BEGIN
    TABLE [dbo].[Registrations](
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    CLUSTERED 
      37: (
    ASC
    ON)
      40: )
    END
    GO
    /****** Object:  Table [dbo].[Readers]    Script Date: 12/14/2010 14:12:31 ******/
    ON
    GO
    ON
    GO
    'U'))
    BEGIN
    TABLE [dbo].[Readers](
    NULL,
    NULL,
    NULL,
    NULL,
    CLUSTERED 
      56: (
    ASC
    ON)
      59: )
    END
    GO
    /****** Object:  Table [dbo].[Books]    Script Date: 12/14/2010 14:12:31 ******/
    ON
    GO
    ON
    GO
    'U'))
    BEGIN
    TABLE [dbo].[Books](
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    CLUSTERED 
      80: (
    ASC
    ON)
      83: )
    END
      85: GO

由于我们所使用的数据库系统是SQL Server,对于上面的TinyLibraryEventDB而言,它就是直接使用的Apworks应用开发框架中自带的SQL脚本。开发人员可以在Apworks的安装目录中找到该脚本文件。

就关系型数据库而言,我们需要一个额外的步骤去维护对象与数据表的映射关系。Apworks采用的是XML Storage Mapping Schema来维护这样的关系。

  1. 向TinyLibrary.Services项目添加一个新的XML文件,将其更名为DomainEventStorageMappings.xml,然后输入下面的内容
    >
    >
    >
    >
    >
    />
    >
    >
    >
    >
    />
    >
    >
    >
    >
  2. 向TinyLibrary.Services项目添加一个新的XML文件,将其更名为QueryObjectStorageMappings.xml,然后输入下面的内容
    >
    >
    >
    >
    >
    />
    >
    >
    >
    >
    />
    >
    >
    >
    >
    />
    />
    />
    >
    >
    >
    >

以下是这些XML文件的XSD结构,这个XSD Schema也被包含在Apworks应用开发框架的安装目录中。

>
<!-- edited with XMLSpy v2009 (http://www.altova.com) by Administrator (EMBRACE) -->
>
>
>
>
>
>
>
/>
>
>
>
>
>
>
/>
>
>
>
>
>
>
/>
>
/>
/>
>
>
>
>
>
/>
>
>
>
>
>
/>
/>
/>
/>
>
>
>

相关文章:

  • 2022-01-14
  • 2021-10-29
  • 2021-08-25
  • 2021-12-16
  • 2021-12-05
  • 2021-07-27
  • 2022-02-10
  • 2021-10-08
猜你喜欢
  • 2021-11-08
  • 2021-12-07
  • 2021-12-22
  • 2021-11-05
  • 2021-10-16
  • 2022-03-02
  • 2022-02-27
相关资源
相似解决方案