我可以创建一个包含500个以上成员的枚举吗?

时间:2018-06-24 20:47:03

标签: c# asp.net-core enums

我正在创建一个数据库系统,其中存在一些表,这些表的某些数据不是用户衍生的,应用程序将主要使用它们进行查找。但是出于数据库性能和查询优化的考虑,我决定对这些查询使用枚举,并将其int而不是整个单词存储在表中。

我想做一个叫做疾病的枚举,它们有500种。

那么,我可以在具有500个成员的C#(。net核心)中创建一个枚举吗?如果没有,如何实现该枚举?另外,有没有一种方法可以对枚举中的值进行本地化?

我使用枚举是因为当我在数据库中查询时,它们将为我节省连接。如果不使用枚举,则必须查询一个表,然后与另外两个具有查找数据的表进行2次联接。如果我用枚举来创建它们,我只需要将其保存在第一个表中的数字,并在应用程序中获取其字符串,就可以在每次获取数据时使用2个联接保存查询。

1 个答案:

答案 0 :(得分:5)

  

我可以在具有500个成员的C#(.net)中创建一个枚举

当然可以。
但是我认为这是一个坏主意。想象一下,如果其他人想要使用您的数据库,那么他们将不得不拥有相同的enum的副本,这意味着您必须维护2个(或更多)相同列表的副本,只要其他副本人们需要它,但我认为没有人愿意这样做。

数据库中的

500行简直是无济于事,将它变成enum并不会帮到您太多(至少您不会注意到),而是将它们存储在表中,每个人都很高兴。

  

是否可以对枚举中的值进行本地化

不,不是开箱即用的。您将必须为此创建自己的解决方案。这取决于本地化的存储位置和存储方式。