Отображение списка строк в nhibernate
Моя сущность имеет помимо других свойств свойство Keyword, которое имеет список типов строк.
public virtual IList<string> Keywords { get; set; }
поэтому я попытался отобразить это свойство с помощью конформистского сопоставления с помощью простого кода, как это возможно
Property(x => x.Keywords);
но я получаю следующее исключение
NHibernate.MappingException: не удалось определить тип для: System.Collections.Generic.IList`1[[System.String, mscorlib, Version=4.0.0.0,.....
1 ответ
Решение
Вы можете сопоставить это с частным string
поле, а затем использовать string.Split
в вашем Keywords
получатель, чтобы получить список.
public class MyClass {
private string _keywords;
public virtual IEnumerable<string> Keywords {
get { return _keywords.Split(','); }
set { _keywords = string.Join(value, ","); }
}
}
Я не знаком с отображением по коду, который использует NH (я использую FluentNH), но ваше отображение, вероятно, будет примерно таким:
Map("_keywords", map => {
map.Access(Access.Field);
// ...
});