如何获取集合属性具有列表的任何元素的实体?

时间:2014-04-10 09:59:26

标签: entity-framework join iqueryable related-content

我有这样的实体:

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 个答案:

答案 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