0

我的实体除了其他属性关键字属性之外还有字符串列表类型。

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,.....

4

1 回答 1

1

您可以将其映射到私有string字段,然后string.Split在您的Keywordsgetter 中使用以获取列表。

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);
    // ...
});
于 2013-09-17T10:37:57.487 回答