初步了解了
ASP.NET Portal Starter Kit
后(
我以前的文章
),本来想继续重构代码的。在构思的时候想到要是能把五个入门套件结合在一起不是更好。
Time Tracker
(时间管理或项目追踪)是利用微软的
Data Access Application Block
作为数据库访问层的,我正好也要这样做,所以就先来看看
ASP.NET Time Tracker Starter Kit
。
ASP.NET Time Tracker Starter Kit
(项目追踪入门套件),提供项目成员(顾问)于每一项项目中各类别所花费的时间,加予统计分析,相当于项目的「项目成员工时记录卡」。详细介绍可参见微软网站上的一片
文章
。像解读门户网站入门套件一样,还是先从数据库说起。
数据库中的表:
TT_Categories
:
项目目录信息
字段名
|
类型
|
含义
|
备注
|
CategoryID
|
Int
|
目录
Id
|
主键(自动编号)
|
ProjectID
|
Int
|
所属项目
Id
|
关联项目信息表
|
Name
|
Nvarchar(50)
|
目录名称
|
|
Abbreviation
|
Nvarchar(4)
|
简写
|
|
EstDuration
|
Decimal(9)
|
预计持续时间
|
小数位两位(单位:小时)
|
TT_EntryLog
:
项目成员工时记录卡
字段名
|
类型
|
含义
|
备注
|
EntryLogID
|
Int
|
记录
Id
|
主键(自动编号)
|
Description
|
Nvarchar(255)
|
工作描述
|
|
Duration
|
Decimal(9)
|
完成工时
|
小数位两位
|
EntryDate
|
SmallDatetime
|
记录日期
|
|
ProjectID
|
Int
|
所属项目
Id
|
关联项目成员表
|
UserID
|
Int
|
所属用户
Id
| |
CategoryID
|
Int
|
所属目录
Id
|
|
TT_ProjectMembers
:
项目成员表(通过此表可以反映:一个用户可以同时参与多个项目,一个项目也可有多个用户参与)
字段名
|
类型
|
含义
|
备注
|
ProjectID
|
Int
|
项目
Id
|
关联项目信息表
|
UserID
|
Int
|
项目成员
Id
|
关联用户信息表
|
TT_Projects
:
项目信息表
字段名
|
类型
|
含义
|
备注
|
ProjectID
|
Int
|
项目
Id
|
主键(自动编号)
|
Name
|
Nvarchar(50)
|
项目名称
|
|
Description
|
Nvarchar(1024)
|
项目描述
|
|
ManagerUserID
|
Int
|
项目经理
Id
|
关联用户表
|
EstCompletionDate
|
Datetime
|
预计完成时间
|
|
EstDuration
|
Decimal(9)
|
预计持续时间
|
小数位两位(单位:小时)
|
CreationDate
|
Datetime
|
创建事件
|
默认值:
getdate()
|
TT_Roles
:
角色信息表
字段名
|
类型
|
含义
|
备注
|
RoleID
|
Int
|
角色
Id
|
主键(自动编号)
|
Name
|
Nvarchar(50)
|
角色名称
|
|
TT_Users
:
用户信息表
字段名
|
类型
|
含义
|
备注
|
UserID
|
Int
|
用户
Id
|
主键(自动编号)
|
DisplayName
|
Nvarchar(50)
|
用户姓名
|
|
Password
|
Nvarchar(50)
|
密码
|
采用
MD5
的加密方式存储
|
UserName
|
Nvarchar(50)
|
登录名(用户
Email
)
|
用于登录,并设置成唯一性索引(可防止注册相同的
Emai
l
,这样设置后当有相同的Email插入时程序就会抛出异常,捕获这个异常就可判断Email是否重复,这样就可以省掉判断Email是否重复的代码
)
|
RoleID
|
Int
|
角色
Id
|
关联角色信息表(
TT_Roles
)
|
数据库中的存储过程:
(自带的文档中有详解,不赘述)
各表关系:
![](https://i-blog.csdnimg.cn/blog_migrate/1e3f60fc59a0dbd4b8503b242857f19d.gif)
更多相关内容:点击这里>>