系统设计的第一步当然是分析需求,目前能够想到的就是对日志的管理,恩……再加上一个分类好了,大体就是这样子:
我们使用一个XML来描述这两个实体:
1: <?xml version="1.0" encoding="utf-8" ?>
2: <Entities xmlns="http://it.ouc.edu.cn/EntityDescription/V2">
3: <Entity title="日志" name="Blog" module="Blogs">
4: <Item title="标题" name="Title" type="text" require="true"/>
5: <Item title="内容" name="Content" type="longtext" require="false"/>
6: <Item title="所属分类" name="BlogClass" type="entity" entityName="BlogClass" require="false"/>
7: <Item title="创建时间" name="CreateDateTime" type="datetime" require="true"/>
8: <Item title="更新时间" name="UpdateDateTime" type="datetime" require="true"/>
9: </Entity>
10: <Entity title="日志分类" name="BlogClass" module="Blogs">
11: <Item title="名称" name="Name" type="text" require="true"/>
12: <Item title="描述" name="Description" type="text" require="false"/>
13: </Entity>
14: </Entities>
这个XML很容易看懂,它的Schema定义在“http://it.ouc.edu.cn/EntityDescription/V2”中,根节点表示这个XML定义的是实体的集合(Entities)。每一个实体包含很多数据字段,字段有标题、名称、类型等属性,需要注意的是,这里的数据字段不表示数据库设计,也不表示类的设计,只是实体的业务逻辑定义。
使用XML描述业务数据有很多好处:
- 是与具体实现无关。正如前面说的,该XML描述的是业务实体,不是数据库表,也不是C#类,所以它是与具体实现无关的。我们需要的仅仅是描述系统的业务逻辑所包含的数据有哪些,以及他们的相互关系是什么。所以这种描述方法甚至可以推广到其它平台。
- 无二意性的。与需求文档不同,XML描述的定义是精确的,不会因为措辞的不同造成人们不同的理解。
- 是可以被版本控制的。XML是纯文本的,它被包含在项目的Solution中,当然会被版本控制工具一并捕获。版本控制的好处在于不同的版本的代码对应不同阶段的业务需求,这直接表示为不同的数据库设计,因此避免了团队成员修改了数据库而其它成员的代码不能运行的问题。
- 使项目自动化。有了描述实体的XML能干什么?很多:生成数据库的建库脚本,生成实体C#类,生成测试数据,甚至可以用于生成文档和项目手册!这可以大大提高系统的开发效率,规模越大的系统,自动化的优势越明显!
- 是同步的。文档的更新与同步经常成为一个令人头疼的问题。而这个XML因为是系统框架自动化的依据,所以修改系统需求和设计时,这个XML是被同步修改的,所以这个文档总是可以被作为了解系统设计的最新资料。
- 与客户交流的工具。就我的经验来看,大部分客户其实是想了解系统设计的,这样让他们更有安全感,也使项目的设计更符合需求。但是,数据库设计通常包含了太多的实现细节,不适合直接展示给客户,代码就跟不用说了,而这种纯粹描述业务的XML则非常合适。当然,一定的讲解是必须的,但剩下的写文档的工作。:)
因为以上这些优势,所以我总是以这个XML作为项目的起点。当然,XML的格式也可以根据项目的不同,略做修改。
当然,这个东西有些简单了,但是随着开发的进一步的进行,我们的实体数据也会逐渐增加,而增量开发、应对变化是系统设计中要解决的重要问题!实际项目的XML最终会非常复杂,这里有一个实际项目的实体XML文件,供大家参考。
当前项目的代码从这里下载。其中YD(我的名字的所写,呵呵)类库是我常用的一些代码,主要就是基于XML的代码生成器以及XML的Schema(有了它,VS.Net 2008就可以在编辑XML时启动智能感知,非常方便。)本文先到这里,下一篇中,我们来看这个XML的具体用法。
<?xml version="1.0" encoding="utf-8" ?>
- <!--
根节点的命名空间对应版本。 Entitis下可能包含两种节点:Entity,Item。 1,Entity:表示实体,如果Entity节点的hasmany属性为true,则对应表,否则只表示分类。根节点下的Entity节点的hasmany属性固定为true,即对应表。 2,Item:必须从属于一个Entity下,表示一个属性 Entity包含的属性 1,name:该实体的名称,必须存在。对应数据库表名。 2,title:该实体的可视化名称,必须存在。 3,module:实体所属的模块,必须存在 4,hasmany:是否是一对多关系。可能的取值为true|falsh,默认为false。当值为true时对应表,否则只对应分类。根节点下的Entity节点的hasmany属性固定为true,即对应表。 Item下每一个节点可能包含的属性: 1,name:该属性的名称,必须存在。对应数据库表名。同一个表的属性名不能重复。 2,title:该信息的可视化名称,必须存在。 3,type:类型,必须存在,可能的取值为: entity:实体,即该列对应其他的业务实体,需要提供entityName属性。 enum:对应枚举,需要提供enumName属性。 int:整型。 text:文本,表示长度小于100个汉字的信息。 longtext:长文本,长度不限。 datetime:日期和时间。 bool:是否。 bytes:二进制流。 guid:全球统一标识。 4,enumName:对应的枚举名称,仅当字段类型是enum时有效。 5,entityName:对应的实体,仅当字段类型是entity时有效。 6,property:所生成的代码的属性。可能的取值有(默认为both): get:只有get属性。 set:只有set属性。 both:同时包含get和set属性。 none:两种属性都没有(不生成该属性)。 7,require:是否必填属性,可能的取值为true|false,默认为true。 8,description:说明。--> <script type="text/javascript">f(clean);</script>
<
Item
title
="
名称
"
name
="
Name
"
type
="
text
" />
<
Item
title
="
类型
"
name
="
Type
"
type
="
enum
"
enumName
="
UserRoleType
" />
<
Item
title
="
权限
"
name
="
Power
"
type
="
entity
"
entityName
="
Power
"
require
="
false
" />
</
Entity
>
<
Item
title
="
用户角色
"
name
="
UserRole
"
type
="
entity
"
entityName
="
UserRole
" />
<
Item
title
="
登录名
"
name
="
LoginID
"
type
="
text
" />
<
Item
title
="
用户名
"
name
="
Name
"
type
="
text
" />
<
Item
title
="
用户名拼音首字母
"
name
="
NameSpell
"
type
="
text
" />
<
Item
title
="
密码
"
name
="
Password
"
type
="
text
" />
<
Item
title
="
电子邮件
"
name
="
Email
"
type
="
text
"
require
="
false
" />
<
Item
title
="
联系电话
"
name
="
Phone
"
type
="
text
"
require
="
false
" />
<
Item
title
="
是否超级用户
"
name
="
IsSuper
"
type
="
bool
" />
<
Item
title
="
是否自定义权限
"
name
="
IsCustomPower
"
type
="
bool
" />
<
Item
title
="
权限
"
name
="
Power
"
type
="
entity
"
entityName
="
Power
"
require
="
false
" />
</
Entity
>
<
Item
title
="
权限
"
name
="
Powers
"
type
="
text
"
description
="
以逗号分隔,能包含一百个权限项目
"
property
="
none
" />
</
Entity
>
<
Item
title
="
对应用户
"
name
="
User
"
type
="
entity
"
entityName
="
User
" />
<
Item
title
="
工作证号
"
name
="
Number
"
type
="
text
" />
<
Item
title
="
姓名
"
name
="
Name
"
type
="
text
" />
<
Item
title
="
姓名拼音缩写
"
name
="
NameSpell
"
type
="
text
" />
<
Item
title
="
性别
"
name
="
Sex
"
type
="
enum
"
enumName
="
SexType
" />
<
Item
title
="
出生日期
"
name
="
Birthday
"
type
="
datetime
"
require
="
false
" />
<
Item
title
="
民族
"
name
="
Nation
"
type
="
text
" />
<
Item
title
="
政治面貌
"
name
="
Policy
"
type
="
text
" />
<
Item
title
="
身份证号
"
name
="
IDCardNumber
"
type
="
text
" />
<
Item
title
="
学历
"
name
="
AcademyDegree
"
type
="
text
" />
<
Item
title
="
专长
"
name
="
Specialty
"
type
="
text
" />
<
Item
title
="
职称
"
name
="
Post
"
type
="
text
" />
<
Item
title
="
是否博导
"
name
="
IsDoctorDirector
"
type
="
bool
"
require
="
false
" />
<
Item
title
="
是否院士
"
name
="
IsAcademician
"
type
="
bool
"
require
="
false
" />
<
Item
title
="
职务
"
name
="
Occupation
"
type
="
text
" />
<
Item
title
="
所在学院
"
name
="
College
"
type
="
text
" />
<
Item
title
="
所在部门
"
name
="
Department
"
type
="
entity
"
entityName
="
Department
"
require
="
false
" />
<
Item
title
="
所在学院2
"
name
="
College2
"
type
="
text
" />
<
Item
title
="
所在系所2
"
name
="
Department2
"
type
="
text
" />
<
Item
title
="
移动电话
"
name
="
MobilePhone
"
type
="
text
" />
<
Item
title
="
办公电话
"
name
="
OfficePhone
"
type
="
text
" />
<
Item
title
="
家庭电话
"
name
="
HomePhone
"
type
="
text
" />
<
Item
title
="
传真
"
name
="
Fax
"
type
="
text
" />
<
Item
title
="
通讯地址
"
name
="
Address
"
type
="
text
" />
<
Item
title
="
邮政编码
"
name
="
Zip
"
type
="
text
" />
<
Item
title
="
电子邮件
"
name
="
Email
"
type
="
text
" />
<
Item
title
="
所学专业代码
"
name
="
MajorCode
"
type
="
text
" />
<
Item
title
="
所学专业名称
"
name
="
MajorName
"
type
="
text
" />
<
Item
title
="
从事专业代码1
"
name
="
ResearchCode1
"
type
="
text
" />
<
Item
title
="
从事专业名称1
"
name
="
ResearchName1
"
type
="
text
" />
<
Item
title
="
从事专业代码2
"
name
="
ResearchCode2
"
type
="
text
" />
<
Item
title
="
从事专业名称2
"
name
="
ResearchName2
"
type
="
text
" />
<
Item
title
="
从事专业代码3
"
name
="
ResearchCode3
"
type
="
text
" />
<
Item
title
="
从事专业名称3
"
name
="
ResearchName3
"
type
="
text
" />
<
Item
title
="
外语语种1
"
name
="
Language1
"
type
="
text
" />
<
Item
title
="
外语语种2
"
name
="
Language2
"
type
="
text
" />
<
Item
title
="
熟练程度1
"
name
="
LanguageLevel1
"
type
="
text
" />
<
Item
title
="
熟练程度2
"
name
="
LanguageLevel2
"
type
="
text
" />
<
Item
title
="
社会兼职
"
name
="
SocietyPost
"
type
="
text
" />
<
Item
title
="
工作简历
"
name
="
WorkExperience
"
type
="
longtext
" />
<
Item
title
="
科研简历
"
name
="
ResearchExperience
"
type
="
longtext
" />
</
Entity
>
<
Item
title
="
名称
"
name
="
Name
"
type
="
text
"
require
="
true
" />
<
Item
title
="
代码
"
name
="
Code
"
type
="
text
"
require
="
true
" />
</
Entity
>
<
Item
title
="
流水号
"
name
="
SerialNumber
"
type
="
text
" />
<
Item
title
="
项目编号
"
name
="
Number
"
type
="
text
" />
<
Item
title
="
项目名称
"
name
="
Name
"
type
="
text
" />
<
Item
title
="
项目名称拼音首字母
"
name
="
NameSpell
"
type
="
text
" />
<
Item
title
="
项目负责人
"
name
="
Principal
"
type
="
entity
"
entityName
="
Expert
"
require
="
false
" />
<
Item
title
="
项目负责姓名
"
name
="
PrincipalName
"
type
="
text
"
property
="
get
" />
<
Item
title
="
项目负责工作证号
"
name
="
PrincipalNumber
"
type
="
text
"
property
="
set
" />
<
Item
title
="
项目分级
"
name
="
Level
"
type
="
enum
"
enumName
="
ProjectLevel
" />
<
Item
title
="
是否横向项目
"
name
="
IsHorizontal
"
type
="
bool
" />
<
Item
title
="
基地名称
"
name
="
Base
"
type
="
entity
"
entityName
="
Base
"
require
="
false
" />
<
Item
title
="
学科代码
"
name
="
SubjectCode
"
type
="
text
" />
<
Item
title
="
研究属性
"
name
="
ResearchType
"
type
="
text
" />
<
Item
title
="
是否保密
"
name
="
IsSecret
"
type
="
bool
" />
<
Item
title
="
起始年月
"
name
="
StartDate
"
type
="
datetime
"
require
="
false
" />
<
Item
title
="
终止年月
"
name
="
EndDate
"
type
="
datetime
"
require
="
false
" />
<
Item
title
="
合作方式
"
name
="
CooperationType
"
type
="
text
" />
<
Item
title
="
承担单位
"
name
="
Unit
"
type
="
text
" />
<
Item
title
="
任务来源
"
name
="
TaskComingFrom
"
type
="
text
" />
<
Item
title
="
公司所在地
"
name
="
CorporationPlace
"
type
="
text
" />
<
Item
title
="
项目状态
"
name
="
State
"
type
="
enum
"
enumName
="
ProjectState
" />
<
Item
title
="
建立人
"
name
="
Creator
"
type
="
text
" />
<
Item
title
="
建立时间
"
name
="
CreateDate
"
type
="
datetime
"
require
="
false
" />
<
Item
title
="
更新时间
"
name
="
UpdateTime
"
type
="
datetime
"
require
="
false
" />
<
Item
title
="
备注
"
name
="
Remark
"
type
="
text
" />
</
Entity
>
<
Item
title
="
对应项目
"
name
="
Project
"
type
="
entity
"
entityName
="
Project
" />
<
Item
title
="
对应专家
"
name
="
Expert
"
type
="
entity
"
entityName
="
Expert
"
require
="
false
" />
<
Item
title
="
专家姓名
"
name
="
Name
"
type
="
text
"
property
="
get
" />
<
Item
title
="
工作证号
"
name
="
ExpertNumber
"
type
="
text
"
property
="
get
" />
<
Item
title
="
位次
"
name
="
Order
"
type
="
int
"
require
="
false
" />
<
Item
title
="
子课题号
"
name
="
TaskNo
"
type
="
text
" />
<
Item
title
="
子课题名称
"
name
="
TaskName
"
type
="
text
" />
</
Entity
>
<
Item
title
="
对应的项目
"
name
="
Project
"
type
="
entity
"
entityName
="
Project
" />
<
Item
title
="
项目级别
"
name
="
Rank
"
type
="
entity
"
entityName
="
ProjectRank
"
require
="
false
" />
<
Item
title
="
项目类别
"
name
="
Type
"
type
="
entity
"
entityName
="
ProjectType
"
require
="
false
" />
<
Item
title
="
资助领域
"
name
="
SupportField
"
type
="
entity
"
entityName
="
ProjectSupportField
"
require
="
false
" />
<
Item
title
="
资助子领域
"
name
="
SupportSubField
"
type
="
entity
"
entityName
="
ProjectSupportSubField
"
require
="
false
" />
<
Item
title
="
资助类别
"
name
="
SupportCategory
"
type
="
entity
"
entityName
="
ProjectSupportCategory
"
require
="
false
" />
<
Item
title
="
项目级别
"
name
="
RankName
"
type
="
text
"
property
="
none
" />
<
Item
title
="
项目类别
"
name
="
TypeName
"
type
="
text
"
property
="
none
" />
<
Item
title
="
资助领域
"
name
="
SupportFieldName
"
type
="
text
"
property
="
none
" />
<
Item
title
="
资助子领域
"
name
="
SupportSubFieldName
"
type
="
text
"
property
="
none
" />
<
Item
title
="
资助类别
"
name
="
SupportCategoryName
"
type
="
text
"
property
="
none
" />
</
Entity
>
<
Item
title
="
级别名称
"
name
="
Name
"
type
="
text
" />
<
Item
title
="
是否横向项目
"
name
="
IsHorizontal
"
type
="
bool
"
property
="
get
" />
</
Entity
>
<
Item
title
="
对应级别
"
name
="
ProjectRank
"
type
="
entity
"
entityName
="
ProjectRank
" />
<
Item
title
="
类别名称
"
name
="
Name
"
type
="
text
" />
<
Item
title
="
类别简称
"
name
="
ShortName
"
type
="
text
" />
<
Item
title
="
专管部门
"
name
="
Administration
"
type
="
text
" />
<
Item
title
="
分类代码
"
name
="
Code
"
type
="
text
" />
<
Item
title
="
是否预算制
"
name
="
IsBudget
"
type
="
bool
"
require
="
true
" />
</
Entity
>
<
Item
title
="
对应类别
"
name
="
ProjectType
"
type
="
entity
"
entityName
="
ProjectType
" />
<
Item
title
="
资助类别名称
"
name
="
Name
"
type
="
text
" />
</
Entity
>
<
Item
title
="
对应类别
"
name
="
ProjectType
"
type
="
entity
"
entityName
="
ProjectType
" />
<
Item
title
="
资助领域名称
"
name
="
Name
"
type
="
text
" />
</
Entity
>
<
Item
title
="
对应资助领域
"
name
="
ProjectSupportField
"
type
="
entity
"
entityName
="
ProjectSupportField
" />
<
Item
title
="
资助子领域名称
"
name
="
Name
"
type
="
text
" />
</
Entity
>
<
Item
title
="
对应的项目
"
name
="
Project
"
type
="
entity
"
entityName
="
Project
" />
<
Item
title
="
资金来源
"
name
="
FundFrom
"
type
="
text
" />
<
Item
title
="
来款单位
"
name
="
FundFromUnit
"
type
="
text
" />
<
Item
title
="
来款单位地址
"
name
="
FundFromUnitAddress
"
type
="
text
" />
<
Item
title
="
总经费
"
name
="
FundTotal
"
type
="
int
" />
<
Item
title
="
合同额
"
name
="
FundContract
"
type
="
int
" />
<
Item
title
="
计划外拨经费
"
name
="
FundPlanOutTotal
"
type
="
int
"
require
="
false
" />
<
Item
title
="
计划出海费
"
name
="
FundPlanOversea
"
type
="
int
"
require
="
false
" />
<
Item
title
="
计划硬件费
"
name
="
FundPlanHardware
"
type
="
int
"
require
="
false
" />
<
Item
title
="
已到经费
"
name
="
FundReceived
"
type
="
int
" />
<
Item
title
="
已校内分配
"
name
="
FundAlreadyIn
"
type
="
int
" />
<
Item
title
="
已外拨经费
"
name
="
FundAlreadyOut
"
type
="
int
" />
<
Item
title
="
已分配出海费
"
name
="
FundAlreadyOversea
"
type
="
int
" />
<
Item
title
="
已分配硬件费
"
name
="
FundAlreadyHardware
"
type
="
int
" />
<
Item
title
="
校内管理费
"
name
="
OverheadExpensesIn
"
type
="
int
" />
<
Item
title
="
外协管理费
"
name
="
OverheadExpensesOut
"
type
="
int
" />
<
Item
title
="
出海管理费
"
name
="
OverheadExpensesOversea
"
type
="
int
" />
<
Item
title
="
硬件管理费
"
name
="
OverheadExpensesHardware
"
type
="
int
" />
</
Entity
>
<
Item
title
="
对应项目经费
"
name
="
ProjectInfo_Fund
"
type
="
entity
"
entityName
="
ProjectInfo_Fund
" />
<
Item
title
="
到款时间
"
name
="
DateTime
"
type
="
datetime
" />
<
Item
title
="
到款数额
"
name
="
Amount
"
type
="
int
" />
</
Entity
>
<
Item
title
="
流水号
"
name
="
SerialNumber
"
type
="
text
"
description
="
用于保存上一个数据库版本中的该信息,无逻辑意义
" />
<
Item
title
="
描述
"
name
="
Description
"
type
="
text
" />
<
Item
title
="
到款日期
"
name
="
ReceivedDate
"
type
="
datetime
" />
<
Item
title
="
凭单号
"
name
="
VoucherNumber
"
type
="
text
" />
<
Item
title
="
到款金额
"
name
="
Amount
"
type
="
int
" />
<
Item
title
="
已下拨经费
"
name
="
DescendAmount
"
type
="
int
" />
</
Entity
>
<
Item
title
="
对应项目经费信息
"
name
="
ProjectInfo_Fund
"
type
="
entity
"
entityName
="
ProjectInfo_Fund
"
require
="
false
" />
<
Item
title
="
对应专家
"
name
="
Expert
"
type
="
entity
"
entityName
="
Expert
"
require
="
false
" />
<
Item
title
="
专家姓名
"
name
="
ExpertName
"
type
="
text
"
property
="
get
" />
<
Item
title
="
工作证号
"
name
="
ExpertNumber
"
type
="
text
"
property
="
get
" />
<
Item
title
="
帐本号
"
name
="
AccountBookNumber
"
type
="
text
" />
</
Entity
>
<
Item
title
="
对应经费到帐
"
name
="
Finance
"
type
="
entity
"
entityName
="
Finance
" />
<
Item
title
="
对应项目
"
name
="
ProjectInfo_Fund
"
type
="
entity
"
entityName
="
ProjectInfo_Fund
" />
<
Item
title
="
下拨时间
"
name
="
DescendDateTime
"
type
="
datetime
" />
<
Item
title
="
下拨金额
"
name
="
Amount
"
type
="
int
" />
<
Item
title
="
下拨人
"
name
="
Operator
"
type
="
text
" />
<
Item
title
="
是否以完成分配
"
name
="
IsAllocated
"
type
="
bool
"
require
="
true
" />
</
Entity
>
<
Item
title
="
对应经费下拨
"
name
="
FundDescend
"
type
="
entity
"
entityName
="
FundDescend
"
require
="
false
" />
<
Item
title
="
金额
"
name
="
Amount
"
type
="
int
"
description
="
等于下拨的金额
" />
<
Item
title
="
对应的项目名称
"
name
="
ProjectName
"
type
="
text
" />
<
Item
title
="
校内分配
"
name
="
AllocationIn
"
type
="
int
" />
<
Item
title
="
外协分配
"
name
="
AllocationOut
"
type
="
int
" />
<
Item
title
="
出海费
"
name
="
AllocationOversea
"
type
="
int
" />
<
Item
title
="
硬件费
"
name
="
AllocationHardware
"
type
="
int
" />
<
Item
title
="
校内分配管理费
"
name
="
OverheadExpensesIn
"
type
="
int
" />
<
Item
title
="
外协分配管理费
"
name
="
OverheadExpensesOut
"
type
="
int
" />
<
Item
title
="
硬件管理费
"
name
="
OverheadExpensesHardware
"
type
="
int
" />
<
Item
title
="
出海管理费
"
name
="
OverheadExpensesOversea
"
type
="
int
" />
<
Item
title
="
提交分配时间
"
name
="
SubmitDateTime
"
type
="
datetime
"
require
="
false
" />
<
Item
title
="
负责人
"
name
="
Principle
"
type
="
text
" />
<
Item
title
="
状态
"
name
="
CensorState
"
type
="
enum
"
enumName
="
CensorState
" />
<
Item
title
="
审核人
"
name
="
Censor
"
type
="
text
" />
<
Item
title
="
审核时间
"
name
="
CensorDateTime
"
type
="
datetime
"
require
="
false
" />
<
Item
title
="
审核意见
"
name
="
CensorRemark
"
type
="
text
" />
</
Entity
>
<
Item
title
="
对应经费分配
"
name
="
FundAllocation
"
type
="
entity
"
entityName
="
FundAllocation
" />
<
Item
title
="
对应经费成员
"
name
="
FundMember
"
type
="
entity
"
entityName
="
FundMember
" />
<
Item
title
="
凭单号
"
name
="
VoucherNumber
"
type
="
text
" />
<
Item
title
="
账本号
"
name
="
AccountBookNumber
"
type
="
text
" />
<
Item
title
="
校内分配
"
name
="
AllocationIn
"
type
="
int
" />
<
Item
title
="
外协分配
"
name
="
AllocationOut
"
type
="
int
" />
<
Item
title
="
硬件费
"
name
="
AllocationHardware
"
type
="
int
" />
<
Item
title
="
出海费
"
name
="
AllocationOversea
"
type
="
int
" />
<
Item
title
="
校内分配管理费
"
name
="
OverheadExpensesIn
"
type
="
int
" />
<
Item
title
="
外协分配管理费
"
name
="
OverheadExpensesOut
"
type
="
int
" />
<
Item
title
="
硬件管理费
"
name
="
OverheadExpensesHardware
"
type
="
int
" />
<
Item
title
="
出海管理费
"
name
="
OverheadExpensesOversea
"
type
="
int
" />
<
Item
title
="
是否已打印
"
name
="
IsPrinted
"
type
="
bool
"
require
="
true
" />
<
Item
title
="
打印时间
"
name
="
PrintTime
"
type
="
datetime
"
require
="
false
" />
</
Entity
>
<
Item
title
="
对应凭单
"
name
="
Voucher
"
type
="
entity
"
entityName
="
Voucher
" />
<
Item
title
="
数额
"
name
="
Amount
"
type
="
int
" />
<
Item
title
="
管理费
"
name
="
OverheadExpenses
"
type
="
int
" />
</
Entity
>
<
Item
title
="
对应凭单
"
name
="
Voucher
"
type
="
entity
"
entityName
="
Voucher
" />
<
Item
title
="
数额
"
name
="
Amount
"
type
="
int
" />
<
Item
title
="
管理费
"
name
="
OverheadExpenses
"
type
="
int
" />
<
Item
title
="
企业名称
"
name
="
Corporation
"
type
="
text
" />
</
Entity
>
<
Item
title
="
对应凭单
"
name
="
Voucher
"
type
="
entity
"
entityName
="
Voucher
" />
<
Item
title
="
数额
"
name
="
Amount
"
type
="
int
" />
<
Item
title
="
管理费
"
name
="
OverheadExpenses
"
type
="
int
" />
</
Entity
>
<
Item
title
="
对应凭单
"
name
="
Voucher
"
type
="
entity
"
entityName
="
Voucher
" />
<
Item
title
="
数额
"
name
="
Amount
"
type
="
int
" />
<
Item
title
="
管理费
"
name
="
OverheadExpenses
"
type
="
int
" />
</
Entity
>
<
Item
title
="
对应项目
"
name
="
Project
"
type
="
entity
"
entityName
="
Project
" />
<
Item
title
="
合同编号
"
name
="
ContractNumber
"
type
="
text
" />
<
Item
title
="
合同类型
"
name
="
Type
"
type
="
enum
"
enumName
="
ContractType
" />
<
Item
title
="
提交日期
"
name
="
SubmitDateTime
"
type
="
datetime
"
require
="
false
" />
<
Item
title
="
状态
"
name
="
State
"
type
="
enum
"
enumName
="
CensorState
" />
<
Item
title
="
合同内容
"
name
="
Content
"
type
="
bytes
" />
</
Entity
>
<
Item
title
="
对应项目
"
name
="
Project
"
type
="
entity
"
entityName
="
Project
" />
<
Item
title
="
文档名称
"
name
="
Name
"
type
="
text
" />
<
Item
title
="
提交人
"
name
="
Author
"
type
="
text
" />
<
Item
title
="
提交日期
"
name
="
SubmitDateTime
"
type
="
datetime
"
require
="
false
" />
<
Item
title
="
文档内容
"
name
="
Content
"
type
="
bytes
"
require
="
false
" />
<
Item
title
="
状态
"
name
="
State
"
type
="
enum
"
enumName
="
CensorState
" />
<
Item
title
="
审核人
"
name
="
Censor
"
type
="
text
" />
<
Item
title
="
审核日期
"
name
="
CensorDateTime
"
type
="
datetime
"
require
="
false
" />
<
Item
title
="
是否必须
"
name
="
IsRequire
"
type
="
bool
" />
</
Entity
>
<
Item
title
="
外协经费在总经费中最大比例
"
name
="
FundOutRatio
"
type
="
int
"
description
="
表示百分比
" />
</
Entity
>
<
Item
title
="
年份
"
name
="
Year
"
type
="
int
" />
<
Item
title
="
审核的项目数目
"
name
="
Project
"
type
="
int
" />
<
Item
title
="
审核的合同数目
"
name
="
Contract
"
type
="
int
" />
<
Item
title
="
横向凭单数目
"
name
="
HorizontalVoucher
"
type
="
int
" />
<
Item
title
="
纵向凭单数目
"
name
="
VerticalVoucher
"
type
="
int
" />
</
Entity
>
<
Item
title
="
值
"
name
="
Value
"
type
="
text
"
description
="
标题即提示文本的内容
" />
<
Item
title
="
缩写
"
name
="
ShortKey
"
type
="
text
"
description
="
拼音首字母
" />
<
Item
title
="
提示文本类型
"
name
="
Type
"
type
="
enum
"
enumName
="
NoticeTextType
" />
</
Entity
>
<
Item
title
="
键
"
name
="
Key
"
type
="
text
" />
<
Item
title
="
值
"
name
="
Value
"
type
="
text
" />
<
Item
title
="
类型
"
name
="
Type
"
type
="
enum
"
enumName
="
KeyValueType
" />
</
Entity
>
<
Item
title
="
发送人
"
name
="
Sender
"
type
="
entity
"
entityName
="
User
"
require
="
false
" />
<
Item
title
="
发送人姓名
"
name
="
SenderName
"
type
="
text
"
require
="
true
" />
<
Item
title
="
收信人
"
name
="
Receiver
"
type
="
entity
"
entityName
="
User
" />
<
Item
title
="
标题
"
name
="
Title
"
type
="
text
"
require
="
true
" />
<
Item
title
="
内容
"
name
="
Content
"
type
="
longtext
"
require
="
false
" />
<
Item
title
="
发送时间
"
name
="
DateTime
"
type
="
datetime
"
require
="
true
" />
<
Item
title
="
是否已读
"
name
="
IsRead
"
type
="
bool
"
require
="
true
" />
</
Entity
>
<
Item
title
="
时间
"
name
="
DateTime
"
type
="
datetime
"
require
="
true
" />
<
Item
title
="
用户
"
name
="
User
"
type
="
text
"
require
="
true
" />
<
Item
title
="
操作
"
name
="
Action
"
type
="
text
"
require
="
true
" />
<
Item
title
="
描述
"
name
="
Description
"
type
="
text
"
require
="
false
" />
</
Entity
>
<
Item
title
="
名称
"
name
="
Name
"
type
="
text
"
require
="
true
" />
<
Item
title
="
地址
"
name
="
Address
"
type
="
text
"
require
="
false
" />
<
Item
title
="
邮编
"
name
="
Zip
"
type
="
text
"
require
="
false
" />
<
Item
title
="
电话
"
name
="
Phone
"
type
="
text
"
require
="
false
" />
<
Item
title
="
传真
"
name
="
Fax
"
type
="
text
"
require
="
false
" />
<
Item
title
="
主管部门
"
name
="
Administration
"
type
="
text
"
require
="
false
" />
<
Item
title
="
级别
"
name
="
Rank
"
type
="
text
"
require
="
false
" />
<
Item
title
="
负责人
"
name
="
Director
"
type
="
entity
"
entityName
="
Expert
"
require
="
false
" />
<
Item
title
="
负责人姓名
"
name
="
DirectorName
"
type
="
text
"
property
="
get
" />
<
Item
title
="
负责人工作证号
"
name
="
DirectorNumber
"
type
="
text
"
property
="
set
" />
<
Item
title
="
学术负责人
"
name
="
AcademyDirector
"
type
="
entity
"
entityName
="
Expert
"
require
="
false
" />
<
Item
title
="
学术负责人姓名
"
name
="
AcademyDirectorName
"
type
="
text
"
property
="
get
" />
<
Item
title
="
学术负责人工作证号
"
name
="
AcademyDirectorNumber
"
type
="
text
"
property
="
set
" />
</
Entity
>
<
Item
title
="
奖项名称
"
name
="
Name
"
type
="
text
"
require
="
true
" />
<
Item
title
="
获奖年份
"
name
="
Year
"
type
="
int
"
require
="
false
" />
<
Item
title
="
级别
"
name
="
Rank
"
type
="
text
"
require
="
false
" />
<
Item
title
="
等级
"
name
="
Class
"
type
="
text
"
require
="
false
" />
<
Item
title
="
对应项目
"
name
="
Project
"
type
="
entity
"
entityName
="
Project
"
require
="
false
" />
<
Item
title
="
对应项目名称
"
name
="
ProjectName
"
type
="
text
"
require
="
false
" />
<
Item
title
="
简介
"
name
="
Introduction
"
type
="
longtext
"
require
="
false
" />
</
Entity
>
<
Item
title
="
对应专家
"
name
="
Expert
"
type
="
entity
"
entityName
="
Expert
"
require
="
false
" />
<
Item
title
="
姓名
"
name
="
Name
"
type
="
text
"
require
="
true
" />
<
Item
title
="
工作证号
"
name
="
Number
"
type
="
text
"
require
="
false
" />
<
Item
title
="
位次
"
name
="
Order
"
type
="
int
"
require
="
true
" />
</
Entity
>
<
Item
title
="
专利号
"
name
="
Number
"
type
="
text
"
require
="
true
" />
<
Item
title
="
名称
"
name
="
Name
"
type
="
text
"
require
="
true
" />
<
Item
title
="
申请时间
"
name
="
ApplicationDateTime
"
type
="
datetime
"
require
="
false
" />
<
Item
title
="
授权时间
"
name
="
AuthorizeDateTime
"
type
="
datetime
"
require
="
false
" />
<
Item
title
="
类型
"
name
="
Type
"
type
="
enum
"
enumName
="
PatentType
"
require
="
true
" />
<
Item
title
="
简介
"
name
="
Introduction
"
type
="
text
"
require
="
false
" />
</
Entity
>
<
Item
title
="
对应专家
"
name
="
Expert
"
type
="
entity
"
entityName
="
Expert
"
require
="
false
" />
<
Item
title
="
姓名
"
name
="
Name
"
type
="
text
"
require
="
true
" />
<
Item
title
="
工作证号
"
name
="
Number
"
type
="
text
"
require
="
false
" />
<
Item
title
="
位次
"
name
="
Order
"
type
="
int
"
require
="
true
" />
</
Entity
>
<
Item
title
="
名称
"
name
="
Name
"
type
="
text
"
require
="
true
" />
<
Item
title
="
编号
"
name
="
Number
"
type
="
text
"
require
="
true
" />
<
Item
title
="
级别
"
name
="
Rank
"
type
="
text
"
require
="
false
" />
<
Item
title
="
期刊
"
name
="
Magazine
"
type
="
text
"
require
="
true
" />
<
Item
title
="
影响因子
"
name
="
InfluenceFactor
"
type
="
int
"
require
="
true
"
description
="
精确到小数点后第四位
" />
<
Item
title
="
文档编号
"
name
="
DocumentNumber
"
type
="
text
"
require
="
true
" />
<
Item
title
="
期/卷
"
name
="
Volume
"
type
="
text
"
require
="
false
" />
<
Item
title
="
起始页码
"
name
="
StartPage
"
type
="
int
"
require
="
true
" />
<
Item
title
="
终止页码
"
name
="
EndPage
"
type
="
int
"
require
="
true
" />
<
Item
title
="
页数
"
name
="
Page
"
type
="
int
"
require
="
true
" />
<
Item
title
="
发表日期
"
name
="
PublishDate
"
type
="
datetime
"
require
="
true
" />
<
Item
title
="
摘要
"
name
="
Abstract
"
type
="
longtext
"
require
="
false
" />
<
Item
title
="
ISBN
"
name
="
Isbn
"
type
="
text
"
require
="
false
" />
<
Item
title
="
关键字
"
name
="
Keywords
"
type
="
text
"
require
="
false
" />
</
Entity
>
<
Item
title
="
对应专家
"
name
="
Expert
"
type
="
entity
"
entityName
="
Expert
"
require
="
false
" />
<
Item
title
="
姓名
"
name
="
Name
"
type
="
text
"
require
="
true
" />
<
Item
title
="
工作证号
"
name
="
Number
"
type
="
text
"
require
="
false
" />
<
Item
title
="
位次
"
name
="
Order
"
type
="
int
"
require
="
true
" />
<
Item
title
="
是否通讯作者
"
name
="
IsLinkman
"
type
="
bool
"
require
="
true
" />
</
Entity
>
<
Item
title
="
论文
"
name
="
Paper
"
type
="
entity
"
entityName
="
Paper
"
require
="
true
" />
<
Item
title
="
对应项目
"
name
="
Project
"
type
="
entity
"
entityName
="
Project
"
require
="
false
" />
<
Item
title
="
项目名称
"
name
="
ProjectName
"
type
="
text
"
require
="
true
" />
</
Entity
>
</
Entities
>