Во-первых, давайте добавим значение для 0
:
public enum EnumSampledCategory
{
None = 0, // corresponds to null in RDBMS
All = 1,
Government_Sampling = 2,
Sampling_In_Packaging = 3,
Sampling_At_Warehouse = 4
}
Если возможно, что SampledItem
может быть и Sampling_In_Packaging
, и, скажем, Government_Sampling
вас может захотеть превратить enum
в помеченный один:
[Flags]
public enum EnumSampledCategory
{
None = 0,
Government_Sampling = 1,
Sampling_In_Packaging = 2,
Sampling_At_Warehouse = 4,
// All is combination of all other samplings: 1 | 2 | 4 == 7
All = Government_Sampling | Sampling_In_Packaging | Sampling_At_Warehouse
}
Тогда все, что вы хотите, это Convert
:
MySampledCategory = (EnumSampledCategory)Convert.ToInt32(
row["SampledCategory"] == DBNull.Value ? 0 : row["SampledCategory"]);