改进我的CodeSmith模板
说明:完善了基本数据验证的机制,目前可以根据数据库字段的设置,进行是否为空、输入值长度等基本判断。
模板下载
例子:
数据表
/****** 对象: Table [dbo].[Department] 脚本日期: 03/01/2008 22:31:00 ******/
CREATE TABLE [dbo].[Department](
[DepartmentAutoId] [int] IDENTITY(1,1) NOT NULL,
[IsInEffect] [bit] NOT NULL DEFAULT ('false'),
[DeptCode] [char](7) COLLATE Chinese_PRC_CI_AS NOT NULL DEFAULT ('0000000'),
[DeptName] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL DEFAULT ('<未填入>'),
[ClinicAttrCode] [char](1) COLLATE Chinese_PRC_CI_AS NOT NULL DEFAULT ('0'),
[DeptOthierName] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL DEFAULT ('<未填入>'),
CONSTRAINT [PK_DEPARTMENT] PRIMARY KEY NONCLUSTERED
(
[DepartmentAutoId] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'科室表自动编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Department', @level2type=N'COLUMN',@level2name=N'DepartmentAutoId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生效' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Department', @level2type=N'COLUMN',@level2name=N'IsInEffect'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'科别代码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Department', @level2type=N'COLUMN',@level2name=N'DeptCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'科室名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Department', @level2type=N'COLUMN',@level2name=N'DeptName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'科室属性代码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Department', @level2type=N'COLUMN',@level2name=N'ClinicAttrCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'科室习惯名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Department', @level2type=N'COLUMN',@level2name=N'DeptOthierName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医院内设置的部门' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Department'
CREATE TABLE [dbo].[Department](
[DepartmentAutoId] [int] IDENTITY(1,1) NOT NULL,
[IsInEffect] [bit] NOT NULL DEFAULT ('false'),
[DeptCode] [char](7) COLLATE Chinese_PRC_CI_AS NOT NULL DEFAULT ('0000000'),
[DeptName] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL DEFAULT ('<未填入>'),
[ClinicAttrCode] [char](1) COLLATE Chinese_PRC_CI_AS NOT NULL DEFAULT ('0'),
[DeptOthierName] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL DEFAULT ('<未填入>'),
CONSTRAINT [PK_DEPARTMENT] PRIMARY KEY NONCLUSTERED
(
[DepartmentAutoId] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'科室表自动编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Department', @level2type=N'COLUMN',@level2name=N'DepartmentAutoId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生效' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Department', @level2type=N'COLUMN',@level2name=N'IsInEffect'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'科别代码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Department', @level2type=N'COLUMN',@level2name=N'DeptCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'科室名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Department', @level2type=N'COLUMN',@level2name=N'DeptName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'科室属性代码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Department', @level2type=N'COLUMN',@level2name=N'ClinicAttrCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'科室习惯名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Department', @level2type=N'COLUMN',@level2name=N'DeptOthierName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医院内设置的部门' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Department'
根据以上数据表用模板生成了一个实体类
// ===================================================================
// 项目说明
//====================================================================
// 江郎 @Copy Right 2006-2008
// 文件: Department.Generated.cs
// 项目名称:YcMRIS
// 创建时间:2008-03-01
// 负责人:江郎
// ===================================================================
using System;
namespace YcMRIS.Model
{
/// <summary>
///Department数据实体
///本类代码由代码生成器自动生成不要轻易修改
/// </summary>
[Serializable]
public partial class Department :ModelBase
{
变量定义
构造函数
字段属性
功能属性
事件
验证
实现抽象类
}
}
// 项目说明
//====================================================================
// 江郎 @Copy Right 2006-2008
// 文件: Department.Generated.cs
// 项目名称:YcMRIS
// 创建时间:2008-03-01
// 负责人:江郎
// ===================================================================
using System;
namespace YcMRIS.Model
{
/// <summary>
///Department数据实体
///本类代码由代码生成器自动生成不要轻易修改
/// </summary>
[Serializable]
public partial class Department :ModelBase
{
变量定义
构造函数
字段属性
功能属性
事件
验证
实现抽象类
}
}