NHibernate - 将两个相同类型的集合映射到数据库
NHibernate 映射问题。 我有一个名为“用户”的实体和一个名为“菜单”的实体。用户包含两个菜单集合。
public class User
{
public List<Menu> History {get; set;}
public List<Menu> Favourites {get; set;}
}
public class Menu
{
public string Name {get; set;}
...
}
无论如何,我是否可以在不创建新实体的情况下为用户和菜单生成两个关系表(可能是 UserHistory 和 UserFavourites...),每个关系表都包含从 UserIds 到 MenuIds 的映射?是否可以仅通过映射来完成(如果可能的话,FluentNHibernate 映射)?或者有更好的方法来做我在这里想做的事情吗?
谢谢。
NHibernate mapping question.
I have an entity called User and an entity called Menu. User contains two collections of menus.
public class User
{
public List<Menu> History {get; set;}
public List<Menu> Favourites {get; set;}
}
public class Menu
{
public string Name {get; set;}
...
}
Is there anyway I could, without creating new entity, generate two relationship tables for User and Menu (UserHistory and UserFavourites probably...), each contains mapping from UserIds to MenuIds? Can it be done with mappings only(FluentNHibernate mapping if possible)? Or is there a better way to do what I am trying to do here?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
中使用。
我将在用户
和 UserHistory 和 UserFavourites 的子类菜单
I'd use
in users
and sub class Menu for UserHistory and UserFavourites.
这是相当基本的很多事情。
根据上下文,您应该将
List
无序但唯一的适当接口:
ISet
.AsSet()
按添加排序:
IList
AsList("indexcolumnName")
,它将自动向中间表添加和维护索引列this is fairly basic manytomany here.
Depending on the context you should change
List<Menu>
to the appropriate interfaceunordered but unique:
ISet<Menu>
(.net4) /ICollection<Menu>
(.net < 4).AsSet()
ordered by added:
IList<Menu>
AsList("indexcolumnName")
which will automaticly add and maintain an index column to the intermediate tables您是否尝试在映射中使用两个单独的表:
Have you tried to use two separate tables in your mappings: