我有这样一个类
public SomeClass
{
private List<string> _strings = new List<string>();
public IEnumerable<string> Strings
{
{ get return _strings; }
}
}
我将如何为 _strings 做映射?
我试过了,但它提示找不到 List 类型处理程序,如果我将它映射为对象,它不会提示。
<result property="_strings" column="value" />
所以我在谷歌上搜索并找到了这个解决方法(最初是针对 Java 问题,不知道它是否适用于 C#)
<result property="_strings" resultMapping="someMapping.StringList"/>
<resultMap id="StringList" class="System.String">
<result property="" column="Value"/>
</resultMap>
这至少可以让测试运行,并且它可以正常返回我的对象的其余部分,并且我的列表具有正确数量的条目,除了它们都是空白的。
我认为问题是 property 属性是空白的,但我不确定那里应该放什么。 (我也尝试过使用“值(value)”,但那也没有用)。这似乎应该简单得多,我只是忽略了一些明显的东西。
谢谢。
最佳答案
使用 IBatis 的自动结果映射。这是 Java 中的解决方案,您可以轻松地将其映射到 C#。 这是你的 sql 映射:
<code><sqlMap namespace="Users"></code>
<code><select id="names" resultClass="java.lang.String"></code>
select first_name as firstName from user
<code></select></code>
<code><sqlMap></code>
然后你可以这样调用它:
List<code><String></code> userNames = (List<code><String></code>)sqlMap.queryForList("Users.names");
因此您不必创建具有一个属性的自定义类型来执行此操作。
关于c# - 你如何在 iBatis 中映射一个 List<string>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1127992/