我正在使用Enterprise Library.我想将列(整数类型)映射到Enum Type.
说
Enum BloodGroup Type
{
OPositive,
ONegative,
ABPositive,
ABNegative,
BPositive,
BNegative,
NotSet
}
Run Code Online (Sandbox Code Playgroud)
我将Database Table的列映射到C#Types(Class Employee)属性.
IRowMapper<Employee> addressMapper = MapBuilder<Employee>
.MapAllProperties() // map all properties
.Map(p=>p.BloodGroup) // override BloodGroup property
.WithFunc(rec => rec.IsDBNull(rec.GetOrdinal("BloodGroup"))
? BloodGroup.NotSet
: BloodGroup.OPositive)
.Build();
Run Code Online (Sandbox Code Playgroud)
代码工作正常但我想在WithFun 扩展方法中映射Enum的多个条件. 我的意思是类似的
.WithFun(rec=> rec.IsDBNull(rec.GetOrdinal("BloodGroup")) ? BloodGroup.NotSet
rec.GetOrdinal("BloodGroup")==1 ?BloodGroup.OPositive
rec.GetOrdinal("BloodGroup")==2 ?BloodGroup.ONegative
)
Run Code Online (Sandbox Code Playgroud)
帮我查一下多种情况?
rec.IsDBNull(rec.GetOrdinal("BloodGroup")) ? BloodGroup.NotSet :
rec.GetOrdinal("BloodGroup")==1 ? BloodGroup.OPositive :
rec.GetOrdinal("BloodGroup")==2 ? BloodGroup.ONegative :
BloodGroup.NotSet
Run Code Online (Sandbox Code Playgroud)
您需要添加的只是一些冒号和最后的 else 表达式。请参阅三元运算符。
| 归档时间: |
|
| 查看次数: |
2298 次 |
| 最近记录: |