イベントを表すオブジェクトがあります。イベントには招待者がいます。次のようになります。
Event
{
ID,
Name,
Invitee[]
}
Invitee
{
UserID,
Status
}
マッピングでは、イベント HasMany 招待者。
Linq で NHibernate を使用して、イベント全体を読み込まずに、イベント ID と UserID で招待者のステータスを取得したいと考えています。何か案は?
イベントを表すオブジェクトがあります。イベントには招待者がいます。次のようになります。
Event
{
ID,
Name,
Invitee[]
}
Invitee
{
UserID,
Status
}
マッピングでは、イベント HasMany 招待者。
Linq で NHibernate を使用して、イベント全体を読み込まずに、イベント ID と UserID で招待者のステータスを取得したいと考えています。何か案は?
Linq (HQL ではなく) を使用したいが、イベント全体をロードしたくない場合:
複雑さを避けたい場合は、データベースの Invetee テーブルに EventId 列が既にあると仮定すると、Event プロパティを Invetee に追加して、両方の方法でマップできます (データベース内の何も変更せず、多くのクエリを実行する必要があります)。より簡単です)。
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();