实体类与参数的在面对对象程序中的应用
编写过MIS系统的朋友,都知道参数,即在将一些常用但又常变换名词的术语,在数据库中单独表现成一张参数表,效果如下
表:Dict
|
ID |
CodeVaule |
CodeName |
ParentCode |
|
1 |
01 |
阶段 |
00 |
|
2 |
0101 |
前期 |
01 |
|
3 |
0102 |
中期 |
01 |
|
4 |
0103 |
后期 |
01 |
|
5 |
02 |
状态 |
00 |
|
6 |
0201 |
新添加 |
02 |
表:test
|
ID |
NAME |
PHASE |
INTIME |
STATE |
|
1 |
A |
0101 |
|
0201 |
|
2 |
B |
0102 |
|
0201 |
如今又喜欢应用实体类,那这些参数又怎么和显示实体类一起应用呢?即存是以CodeValue,显示时又以CodeName显示
我想可这样
首先还是写一个对应数据库的实体,其中对应用参数的属性用字典类进行转换,见如下代码
public class Test
{
public Test()
{
}
private int _id;
private string _name;
private string _phase;
private DateTime _inTime;
private string _state;
private DictNameValue _dict = new DictNameValue();
public int Id
{
get { return _id;}
set { _id = value ;}
}
public string Name
{
get { return _name;}
set { _name = value ;}
}
public string Phase
{
get { return _dict.GetCodeNameByValue(_phase);}
set { _phase = value ;}
}
public DateTime InTime
{
get { return _inTime ;}
set { _inTime = value ;}
}
public string State
{
get { return _state ;}
set { _state = value ;}
}
}
public class DictNameValue
{
public DictNameValue()
{
}
public string GetCodeNameByValue(string codeValue)
{
//根据参数值取参数名
//代码略
}
public string GetCodeValueByName(string codeName)
{
//根据参数名取参数值
//代码略
}
}
以上只是个人应用的小方法,不知道大家都是怎么处理的,还请高手指教!
大家可能有疑问,为什么set时不转换,因为我想,在界面表现的参数多是应用下拉列表,而下拉列表可以很好的区分VALUE和NAME所以在set时就不需要了.
浙公网安备 33010602011771号