我正在尝试使用Fluent NHibernate映射IDictionary<string, string>
,并且遇到了障碍。
我有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;
有没有办法做到这一点?
答案 0 :(得分:0)
只需启动课程Field
和课程NodeData
和
public NodeMap()
{
HasMany(x => x.Fields)
.Table("NodeData")
.KeyColumn("node_id")
.AsMap("key")
.Element("data");
}