忽略缺少的列

时间:2012-06-12 17:15:00

标签: c# asp.net sql-server-2008 ibatis

如何忽略iBatis resultMap上缺少的列?

如果我有这个映射器

<resultMap id="DBEntity" class="CS_Entity">
    <result property="Id" column="Id" />
    <result property="Field1" column="f1" />
    <result property="Field2" column="f2" />
</resultMap>

对于某些查询我想返回列f2,但是如何在不添加所有其他查询的情况下声明字段f2的默认值。

有办法吗?

2 个答案:

答案 0 :(得分:1)

使用两个带有f2

的resultsMap
<resultMap id="DBEntityWithF2" class="CS_Entity">
    <result property="Id" column="Id" />
    <result property="Field1" column="f1" />
    <result property="Field2" column="f2" />
</resultMap>

和另一个没有f2

的人
<resultMap id="DBEntity" class="CS_Entity">
    <result property="Id" column="Id" />
    <result property="Field1" column="f1" />
</resultMap>

答案 1 :(得分:1)

您只需在sql中使用"select f2 as Field2 from yourTable",并在配置中使用resultClass="CS_Entity"而不是resultMap。这样,您无需像上面那样声明映射。