Отображение списка строк в 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);
    // ...
});
Другие вопросы по тегам