0

私のエンティティには、他のプロパティの他に、文字列のリスト型の 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,.....

4

1 に答える 1

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