映射IDictionary<;字符串,字符串>;使用Fluent NHibernate

本文关键字:字符串 使用 Fluent NHibernate gt IDictionary 映射 lt | 更新日期: 2023-09-27 18:25:19

我正试图用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;

有办法做到这一点吗?

映射IDictionary<;字符串,字符串>;使用Fluent NHibernate

只踢类别Field、类别NodeData

public NodeMap()
{
    HasMany(x => x.Fields)
        .Table("NodeData")
        .KeyColumn("node_id")
        .AsMap("key")
        .Element("data");
}