我有一个数据库,其中包括一对多外键,例如
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;
}
因此,它将返回该商店的所有用户。大多数时候,我只真正想要未存档的用户。
有没有办法将它写入一个语句,所以我可以传入,比如 includeArchived 的第二个参数,并使用它来确定我是返回所有用户,还是只返回那些活跃的用户。
目前,我可以通过向我的商店对象添加一个返回用户子集的方法来使其工作,或者我可以加载商店,获取其 id,然后创建包含适当 fk 的单独用户集合,但是这两种方法对我来说都显得有些笨拙。