我有一个数据库需要状态列更新为单个字符状态码('E'或'U')。“char”的替代枚举
我想使用枚举通过我的API更新此字段以确保可能的值被正确限制。显然,枚举不能是char类型的。什么可能是一个好的替代方法?
不,我不能改变数据库架构:)
我有一个数据库需要状态列更新为单个字符状态码('E'或'U')。“char”的替代枚举
我想使用枚举通过我的API更新此字段以确保可能的值被正确限制。显然,枚举不能是char类型的。什么可能是一个好的替代方法?
不,我不能改变数据库架构:)
您可以指定字符来枚举成员。
这是否帮助:
enum Status
{
Empty = 'E',
Updated = 'U'
}
void Main()
{
Status status = Status.Empty;
Console.WriteLine("{0}: {1}", status, (char)status);
}
有趣的是,我没有意识到编译器允许这:)谢谢 – leppie 2010-07-28 11:29:26
我也没有... Linqpad的好处! – 2010-07-28 11:30:51
我以前看过这个设置,对我来说似乎有些不好意思,并且不能确保数据的完整性(您必须记住演员表)。如果没有更好的可用,我可以使用它。 – fearofawhackplanet 2010-07-28 12:16:53
byte
- 如果你有char
ushort
- 如果你有nchar
两者可以转换到底层整数,然后转换为char
( C#)。
看起来像http://stackoverflow.com/questions/1180174/how-to-implement-c-enum-for-enumerated-char1-database-field - 很有帮助,这将有助于你。 – Chris 2010-07-28 11:27:54