我有以下课程:
class A : IAggregateRoot
{
public int Id { get; set; }
public IEnumerable<B> Bs { get; set; }
public bool IsActive { get; set;}
}
class B : ValueObject
{
public int Id { get; set; }
//no navigation upstream to A due to DDD restrictions
}
var bIds = new int[]{1,5,6,8,9};
我想做的是过滤那些与活动的A
(IsActive
标志为true
)相关联的B
(或其id)。我都不知道从哪开始。
1条答案
按热度按时间plicqrtu1#
Where()
过滤所有活动A。SelectMany()
将这些A的B放在一个List中。Select()
只取这些B的IdDistinct()
删除重复的ID条目