1対多の外部キーを含むデータベースがあります。
Table {shop
[Id]
...}
Table {user
[Id]
[Shop_id]
[Archived]
}
以下のような方法もあります
public IEnumerable<shop> GetShopDetails(int shopId)
{
var foo = (from s in context.Shops
where s.Id = shopId
select s).ToList();
return foo;
}
この結果、そのショップのすべてのユーザーが返されます。ほとんどの場合、アーカイブされていないユーザーのみが本当に必要です。
これを 1 つのステートメントに書き込む方法はありますか。つまり、includeArchived の 2 番目のパラメーターを渡し、それを使用して、すべてのユーザーを返すか、アクティブなユーザーだけを返すかを決定できます。
現時点では、ユーザーのサブセットを返すメソッドをショップ オブジェクトに追加するか、ショップを読み込んでその ID を取得し、適切な fk を含むユーザーの別のコレクションを作成することで機能させることができますが、どちらの方法も私には少し不格好に思えます。