繁体   English   中英

NHibernate - 按父ID选择子项

[英]NHibernate - select child by parent id

我有一个代表一个事件的对象。 该活动有受邀者。 它看起来像这样:

Event
{
    ID,
    Name,
    Invitee[]
}

Invitee
{
    UserID,
    Status
}

在映射中,事件HasMany受邀者。

我希望通过事件ID和UserID获得被邀请者状态,而无需加载整个事件,使用NHibernate和Linq。 有任何想法吗?

假设您希望使用Linq(而不是HQL),并且您不想加载整个事件:

如果您希望避免复杂性,假设您的数据库已经在Invetee表中有一个EventId列,您只需向Invetee添加一个Event属性并以两种方式映射它(它不应该更改数据库中的任何内容并使您查询更多简单)。

LINQ会是这样的

var query = (
    from e in session.Query<Event>()
    from i in e.Invitee
    where e.ID = 1 and i.UserID = 2
    select i.Status
);

var status = query.FirstOrDefault();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM