1

イベントを表すオブジェクトがあります。イベントには招待者がいます。次のようになります。

Event
{
    ID,
    Name,
    Invitee[]
}

Invitee
{
    UserID,
    Status
}

マッピングでは、イベント HasMany 招待者。

Linq で NHibernate を使用して、イベント全体を読み込まずに、イベント ID と UserID で招待者のステータスを取得したいと考えています。何か案は?

4

2 に答える 2

2

Linq (HQL ではなく) を使用したいが、イベント全体をロードしたくない場合:

複雑さを避けたい場合は、データベースの Invetee テーブルに EventId 列が既にあると仮定すると、Event プロパティを Invetee に追加して、両方の方法でマップできます (データベース内の何も変更せず、多くのクエリを実行する必要があります)。より簡単です)。

于 2013-05-23T23:09:07.103 に答える
1

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();
于 2013-05-23T23:09:13.487 に答える