我正在使用DataSet将我的C#程序与SQL数据库连接起来。我希望其中一列是枚举,我希望它在我的代码中充当枚举。我怎么能这样做?
答案 0 :(得分:8)
我并不是要破坏每个人的泡泡,但你可以使用强类型数据集轻松地将整数映射到枚举。我一直这样做。我没有在这里输入整个内容,而是创建了一个entry on my Blog,详细描述了如何实现这一目标。
答案 1 :(得分:0)
我认为你不能。 SQL Server没有枚举的概念。
答案 2 :(得分:0)
我建议使用位于存储库层顶部的ApplicationService层。然后在ApplicationService类中(考虑此类的适当名称),您可以将从存储库层返回的数据转换为POCO对象中的相应枚举值。
答案 3 :(得分:0)
您可以尝试使用strongly typed dataset。
答案 4 :(得分:0)
技术上你不能。枚举是静态类型的,它们被设计为在编译时知道所有值时使用。虽然有一些解决方法,但我强烈建议你不要这样做 查看一个不可修改的数据集,这将给出Enum的大部分好处,并且可以即时创建。
虽然数据不能存储为枚举,但只要数据库列中的数据是整数类型,它们就可以用作花式过滤器。如果这就是你所追求的那个问题,这是一个完全不同的问题。转到MSDN page并阅读Enum's。