我有两个实体Store
and Catalog
,使用流畅的 Api 建立多对多关系。我想通过以下方式获得商店id
所有目录的状态都等于“已发布”。
下面我尝试编写以下查询,但没有得到预期的结果。
var store = context.Stores.Include("Catalogs").Where(s => s.StoreID == id && s.Catalogs.Any(c => c.Status == "Published")).SingleOrDefault();
您所要求的是“给我具有此 ID 的商店,但前提是它有已发布的目录”(“任何”调用)。
仅获取已发布目录的最简单方法是将它们投影为匿名类型:
var result = (from s in context.Stores
where s.StoreID == id
select new
{
Store = s,
Catalogs = s.Catalogs.Where(c => c.Status == "Published")
}).SingleOrDefault();
...或者,在流畅的界面中:
var result = context.Stores.Where(st => st.StoreID == id)
.Select(s => new
{
Store = s,
Catalogs = s.Catalogs.Where(c => c.Status == "Published"),
}).SingleOrDefault();
So result.Catalogs
包含所有适用于的已发布目录result.Store
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)