地图IDictionary <字符串,字符串>与流利NHibernate
问题描述:
我试图映射IDictionary<string, string>
与流利NHibernate和命中路障。地图IDictionary <字符串,字符串>与流利NHibernate
我有3种型号,
public class Node {
public virtual int Id { get; set; }
public virtual IDictionary<string string> Fields { get; set; }
}
public class Field {
public virtual int Id { get; set; }
public virtual string name { get; set; }
}
public class NodeData {
public virtual Node Node { get; set; }
public virtual Field Field { get; set; }
public virtual string Data { get; set; }
}
我的映射看起来像这样
public NodeMap() {
HasMany<NodeData>(x => x.Fields)
.AsMap(x => x.Field.Name)
.Element("Data");
}
然而,这是因为Field
是一个参考,而不是一个属性显然会给出错误。
我想能够访问我的字典一样,Fields["name"] = value;
有没有办法做到这一点?
答
刚刚打完类Field
和类NodeData
和
public NodeMap()
{
HasMany(x => x.Fields)
.Table("NodeData")
.KeyColumn("node_id")
.AsMap("key")
.Element("data");
}
如果你有'词典',哪里该'Field'类从何而来? Fluent Nhibernate如何知道这一点? – 2014-10-01 19:48:41
@OskarBerggren NodeData类有一个组合键'Node_Id'和'Field_Id'。字典基本上是 –
2014-10-01 19:53:18
“本质上”=>不是真的。根据你的代码,字典是一个 - 它无法在映射中假装。这里似乎也有一些“循环”,我不能完全放下手脚。 –
2014-10-01 20:18:46