首页 / 知识

如何使用NHibernate将字符串列表映射到我的实体?

2023-04-14 12:48:00

如何使用NHibernate将字符串列表映射到我的实体?

How can I map a list of strings to my entity using NHibernate?

我的数据库中有两个表:文章和标签

标签表由ArticleID(外键)和标签(varchar)组成。

现在,我需要使用IList标签或ReadOnlyCollection标签将Articles标签映射到Article实体的只读集合中。

我已经查阅了NHibernate参考资料,但似乎无法确定何时使用Set,Bag和其他Nhibernate集合。 我已经看到了使用ISet集合的示例,但是我真的不喜欢将实体类绑定到NHibernate类型。

如何在NHibernate中进行映射?

编辑:我最终使用代替,因为它不需要索引:

1
2
3
4
<bag name="Tags" table="Tag" access="nosetter.camelcase" lazy="false">
  <key column="ArticleId" />
  <element column="Tag" type="System.String" />
</bag>

在映射中使用的集合类型取决于您要如何在代码中表示集合。 设置映射如下:

  • 直接映射到
    IList。
  • 直接映射到IDictionary。
  • 映射到一个IList。 A不完全符合
    使用IList接口,因为
    Add()方法不能保证
    返回正确的索引。 一个东西
    可以添加到
    初始化IList。 确保
    从中隐藏IList
    您的API的使用者或使其成功
    有据可查。
  • 映射到Iesi.Collections.ISet。 那
    界面是
    Iesi.Collections程序集
    与NHibernate一起分发。

因此,如果您希望返回IList,则可以使用映射。 在您的情况下,我可能会使用映射进行映射。


标签实体映射字符串

最新内容

相关内容

猜你喜欢