我有这样的实体:
MyEntityA
{
long IDEntityA;
List<EntityB> lstEntityB;
.... (other properties);
}
MyEntityB
{
long IDEntityB;
string Name;
.... (other properties)
}
List<long> lstIDsEntitiesB; //this list has many IDs of entities B.
我想得到所有实体A属性lstEntitiesB有一个或多个ID在lstIDsEntitiesB上的实体。
我不知道我是否必须使用联接或有任何其他方式,可能包含任何或包含。
非常感谢。
答案 0 :(得分:1)
class MyEntityA
{
public long IDEntityA;
public List<MyEntityB> lstEntityB;
}
class MyEntityB
{
public long IDEntityB;
public string Name;
}
public class Test
{
List<long> lstIDsEntitiesB;
public void TestAlvaroProblem()
{
List<MyEntityA> entitiesA = new List<MyEntityA>();
IEnumerable<MyEntityA> filteredOut = entitiesA.Where(a => a.lstEntityB
.Select(b => b.IDEntityB).Intersect(lstIDsEntitiesB).Any());
}
}
你应该选择其中lstEntityB的Ids与lstIDsEntitiesB相交的实体A