0
Я пытаюсь сопоставить IDictionary<string, string>
с Fluent NHibernate и попал в дорожный блок.Карта IDictionary <строка, строка> с Fluent 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' пришел? Как Fluent Nhibernate знает об этом? –
@OskarBerggren Класс 'NodeData' имеет составной ключ' Node_Id' и 'Field_Id'. Словарь по существу –
"по существу" => не совсем. Словарь представляет собой в соответствии с вашим кодом - это не помогает притворяться иначе в сопоставлениях. Там также, кажется, есть какая-то «круглость», на которую я не могу положиться. –