我有一个名为 MyValue 的属性。需要将列value("Total")
映射到该属性。在映射之前需要检查列值是否为null。如果为null,则将另一列value("Count")
映射到该列。
我该如何处理,
这是针对总价值
完成的 Map(x => x.MyValue)
.Column("Total")
.CustomType("Decimal")
.Access.Property()
.Generated.Never()
.CustomSqlType("decimal")
.Precision(9).Scale(2);
答案 0 :(得分:3)
如果您正在讨论在DB中有两列并希望在Application层上使用它们作为一个......您应该使用FORMULA映射它们。
Map(x => x.MyValue)
//.Column("Total")
.Formula("ISNULL(Total, Count)")
...
注意:应该始终将其视为只读 - 如果您需要写入两列,分别映射它们,并为ISNULL公式创建第三个只读映射...
检查文档:5.1.10. property