小编IEx*_*ble的帖子

C#Lambda表达式映射多个条件

我正在使用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)

帮我查一下多种情况?

c# lambda

5
推荐指数
1
解决办法
2298
查看次数

标签 统计

c# ×1

lambda ×1