使用NHibernate映射字符串集合

ror*_*ryf 14 .net nhibernate

我有一个域类,其中包含一个属性IList<string>,我想将其映射到具有单个数据值的表(即它具有ID,域实体表的外键ID和varchar数据列).

我一直收到错误:

关联引用未映射的类:System.String

如何将表映射到字符串集合?

Fre*_*els 22

我刚遇到类似的情况; 我发现确实可以映射一组字符串.请注意,您必须将这些字符串映射为值对象.

这就是我所拥有的:

public class Chapter
{
    private ISet<string> _synonyms = new HashedSet<string>();

    public ReadOnlyCollection<string> Synonyms
    {
       get { return new List<string>(_synonyms).AsReadOnly(); }
    }
}
Run Code Online (Sandbox Code Playgroud)

制图:

<class name="Chapter" table="Chapter">
   <set name="Synonyms" table="ChapterSynonyms">
       <key column="ChapterId" />
       <element column="ChapterCode" type="string" />
   </set>
</class>
Run Code Online (Sandbox Code Playgroud)

  • 最近再次遇到这个问题,这里是我根据你的XML映射使用的FluentNHibernate映射:mapping.HasMany(x => x.Synonyms).AsBag().Element("ChapterCode",m => m.Type <string> ()); (10认同)

Der*_*ins 8

除非我弄错了你可以这样做:

<bag name="Identities" access="property">
  <key column="accountId"/>
  <element column="identity" type="string"/>
</bag>
Run Code Online (Sandbox Code Playgroud)

身份是一个 IList<string>