说明:完善了基本数据验证的机制,目前可以根据数据库字段的设置,进行是否为空、输入值长度等基本判断。
模板下载
例子:
数据表

/**//****** 对象: 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'

根据以上数据表用模板生成了一个实体类
// ===================================================================
// 项目说明
//====================================================================
// 江郎 @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

{

变量定义#region 变量定义

/**////<summary>
///科室表自动编号
///</summary>
private int departmentAutoId = 0;

/**////<summary>
///生效
///</summary>
private bool isInEffect = false;

/**////<summary>
///科别代码
///</summary>
private string deptCode = "0000000";

/**////<summary>
///科室名称
///</summary>
private string deptName = "<未填入>";

/**////<summary>
///科室属性代码
///</summary>
private string clinicAttrCode = "0";

/**////<summary>
///科室习惯名称
///</summary>
private string deptOthierName = "<未填入>";

/**////<summary>
///属性状态
///</summary>
private EntityState entityData = EntityState.Added;
#endregion

构造函数#region 构造函数

/**////<summary>
///医院内设置的部门
///</summary>
public Department()

{
}

/**////<summary>
///医院内设置的部门
///</summary>
public Department
(
int departmentAutoId,
bool isInEffect,
string deptCode,
string deptName,
string clinicAttrCode,
string deptOthierName
)

{
this.departmentAutoId = departmentAutoId;
this.isInEffect = isInEffect;
this.deptCode = deptCode;
this.deptName = deptName;
this.clinicAttrCode = clinicAttrCode;
this.deptOthierName = deptOthierName;
}
#endregion

字段属性#region 字段属性

/**////<summary>
///科室表自动编号
///</summary>
///[DataObjectField(DepartmentAutoId)]
public int DepartmentAutoId

{

get
{return departmentAutoId;}
set

{
if (DepartmentAutoIdValidate(value))

{
departmentAutoId = value;
OnDepartmentAutoIdChanged(EventArgs.Empty);
if (this.EntityState == EntityState.Unchanged)
this.EntityState = EntityState.Changed;
}
else

{
string error = string.Empty;
foreach (string e in this.Errors)

{
error = error + e;
}
throw new ArgumentException(error);
}
}
}


/**////<summary>
///生效
///</summary>
///[DataObjectField(IsInEffect)]
public bool IsInEffect

{

get
{return isInEffect;}
set

{
if (IsInEffectValidate(value))

{
isInEffect = value;
OnIsInEffectChanged(EventArgs.Empty);
if (this.EntityState == EntityState.Unchanged)
this.EntityState = EntityState.Changed;
}
else

{
string error = string.Empty;
foreach (string e in this.Errors)

{
error = error + e;
}
throw new ArgumentException(error);
}
}
}


/**////<summary>
///科别代码
///</summary>
///[DataObjectField(DeptCode)]
public string DeptCode

{

get
{return deptCode;}
set

{
if (DeptCodeValidate(value))

{
deptCode = value;
OnDeptCodeChanged(EventArgs.Empty);
if (this.EntityState == EntityState.Unchanged)
this.EntityState = EntityState.Changed;
}
else

{
string error = string.Empty;
foreach (string e in this.Errors)

{
error = error + e;
}
throw new ArgumentException(error);
}
}
}


/**////<summary>
///科室名称
///</summary>
///[DataObjectField(DeptName)]
public string DeptName

{

get
{return deptName;}
set

{
if (DeptNameValidate(value))

{
deptName = value;
OnDeptNameChanged(EventArgs.Empty);
if (this.EntityState == EntityState.Unchanged)
this.EntityState = EntityState.Changed;
}
else

{
string error = string.Empty;
foreach (string e in this.Errors)

{
error = error + e;
}
throw new ArgumentException(error);
}
}
}


/**////<summary>
///科室属性代码
///</summary>
///[DataObjectField(ClinicAttrCode)]
public string ClinicAttrCode

{

get
{return clinicAttrCode;}
set

{
if (ClinicAttrCodeValidate(value))

{
clinicAttrCode = value;
OnClinicAttrCodeChanged(EventArgs.Empty);
if (this.EntityState == EntityState.Unchanged)
this.EntityState = EntityState.Changed;
}
else

{
string error = string.Empty;
foreach (string e in this.Errors)

{
error = error + e;
}
throw new ArgumentException(error);
}
}
}


/**////<summary>
///科室习惯名称
///</summary>
///[DataObjectField(DeptOthierName)]
public string DeptOthierName

{

get
{return deptOthierName;}
set

{
if (DeptOthierNameValidate(value))

{
deptOthierName = value;
OnDeptOthierNameChanged(EventArgs.Empty);
if (this.EntityState == EntityState.Unchanged)
this.EntityState = EntityState.Changed;
}
else

{
string error = string.Empty;
foreach (string e in this.Errors)

{
error = error + e;
}
throw new ArgumentException(error);
}
}
}
#endregion

功能属性#region 功能属性
public override EntityState EntityState

{

get
{ return entityData; }

set
{ entityData = value; }
}
#endregion

事件#region 事件

/**////<summary>
///科室表自动编号
///</summary>
public event EventHandler DepartmentAutoIdChanged;

protected virtual void OnDepartmentAutoIdChanged(EventArgs e)

{
if (DepartmentAutoIdChanged != null) DepartmentAutoIdChanged(this, e);
}


/**////<summary>
///生效
///</summary>
public event EventHandler IsInEffectChanged;

protected virtual void OnIsInEffectChanged(EventArgs e)

{
if (IsInEffectChanged != null) IsInEffectChanged(this, e);
}


/**////<summary>
///科别代码
///</summary>
public event EventHandler DeptCodeChanged;

protected virtual void OnDeptCodeChanged(EventArgs e)

{
if (DeptCodeChanged != null) DeptCodeChanged(this, e);
}


/**////<summary>
///科室名称
///</summary>
public event EventHandler DeptNameChanged;

protected virtual void OnDeptNameChanged(EventArgs e)

{
if (DeptNameChanged != null) DeptNameChanged(this, e);
}


/**////<summary>
///科室属性代码
///</summary>
public event EventHandler ClinicAttrCodeChanged;

protected virtual void OnClinicAttrCodeChanged(EventArgs e)

{
if (ClinicAttrCodeChanged != null) ClinicAttrCodeChanged(this, e);
}


/**////<summary>
///科室习惯名称
///</summary>
public event EventHandler DeptOthierNameChanged;

protected virtual void OnDeptOthierNameChanged(EventArgs e)

{
if (DeptOthierNameChanged != null) DeptOthierNameChanged(this, e);
}
#endregion

验证#region 验证

/**////<summary>
///验证科室表自动编号
///</summary>
public bool DepartmentAutoIdValidate(object target)

{
int i = 0;
this.Errors.Clear();
if (!NotNullValidate(target ,"科室表自动编号" )) ++i;
if (i > 0)

{
return false;
}
else

{
return true;
}
}


/**////<summary>
///验证生效
///</summary>
public bool IsInEffectValidate(object target)

{
int i = 0;
this.Errors.Clear();
if (!NotNullValidate(target ,"生效" )) ++i;
if (i > 0)

{
return false;
}
else

{
return true;
}
}


/**////<summary>
///验证科别代码
///</summary>
public bool DeptCodeValidate(object target)

{
int i = 0;
this.Errors.Clear();
if (!NotNullValidate(target ,"科别代码" )) ++i;
if (!StringMaxLengthValidate(target ,"科别代码",7 )) ++i;
if (!StringRequiredValidate(target ,"科别代码" )) ++i;
if (i > 0)

{
return false;
}
else

{
return true;
}
}


/**////<summary>
///验证科室名称
///</summary>
public bool DeptNameValidate(object target)

{
int i = 0;
this.Errors.Clear();
if (!NotNullValidate(target ,"科室名称" )) ++i;
if (!StringMaxLengthValidate(target ,"科室名称",50 )) ++i;
if (!StringRequiredValidate(target ,"科室名称" )) ++i;
if (i > 0)

{
return false;
}
else

{
return true;
}
}


/**////<summary>
///验证科室属性代码
///</summary>
public bool ClinicAttrCodeValidate(object target)

{
int i = 0;
this.Errors.Clear();
if (!NotNullValidate(target ,"科室属性代码" )) ++i;
if (!StringMaxLengthValidate(target ,"科室属性代码",1 )) ++i;
if (!StringRequiredValidate(target ,"科室属性代码" )) ++i;
if (i > 0)

{
return false;
}
else

{
return true;
}
}


/**////<summary>
///验证科室习惯名称
///</summary>
public bool DeptOthierNameValidate(object target)

{
int i = 0;
this.Errors.Clear();
if (!NotNullValidate(target ,"科室习惯名称" )) ++i;
if (!StringMaxLengthValidate(target ,"科室习惯名称",50 )) ++i;
if (!StringRequiredValidate(target ,"科室习惯名称" )) ++i;
if (i > 0)

{
return false;
}
else

{
return true;
}
}
#endregion

实现抽象类#region 实现抽象类

public override bool Validate()

{
int i = 0;
if (!DepartmentAutoIdValidate(departmentAutoId)) ++i;
if (!IsInEffectValidate(isInEffect)) ++i;
if (!DeptCodeValidate(deptCode)) ++i;
if (!DeptNameValidate(deptName)) ++i;
if (!ClinicAttrCodeValidate(clinicAttrCode)) ++i;
if (!DeptOthierNameValidate(deptOthierName)) ++i;
if (i > 0)

{
this.IsValid = false;
return false;
}
else

{
this.IsValid = true;
return true;
}
}

#endregion
}
}
