在LinQ中使用枚举

时间:2011-08-15 23:54:51

标签: linq linq-to-sql

需要帮助

我有这个枚举,它将PayClassNo设置为Direct和Indirect。我想在我的LinQ查询中使用这个枚举。

这是我的临时LinQ查询:

var jDef = from jd in context.GetTable<RJVDefinition>()
                       select new PayrollJVDefinition
                       {
                           JVdefNo = jd.JVDefNo,
                           AccntCode = jd.AccntCode,
                           AccntDesc = jd.AccntDesc,
                           PayClass = enum.GetValue(jd.PayClassNo),
                           IsFixed = jd.IsFixed,
                           IsEmployee = jd.IsFixed,
                           IsAR = jd.IsAR,
                           CreatedByNo = jd.CreatedByNo,
                           CreatedDate = jd.CreatedDate,
                           ModifiedByNo = jd.ModifiedByNo,
                           ModifiedDate = jd.ModifiedDate
                       };

需要帮助,因为我不确定这是否有效。

2 个答案:

答案 0 :(得分:1)

您当然可以在代码中进行翻译,类似于您的示例(使用Enum.Parse),但您不需要。您可以使用设计器将对象属性类型设置为枚举值。有关详细信息,请参阅this article

答案 1 :(得分:0)

您只需要解析Enum只需使用类似

的内容即可
Enum.Parse(jb.PayClassNo, YourEnumType)