2014-04-10 36 views
0

我有这样的实体:如何获得集合属性拥有列表中任何元素的实体?

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。

我不知道我是否必须使用连接或有任何其他方式,也许与任何或包含。

非常感谢。

回答

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()); 
     }   
    } 

您应该选择entitiesA其中lstEntityB的IDS与lstIDsEntitiesB

相交
相关问题