在单个调用中获取特定实体

时间:2011-08-03 06:48:14

标签: c# .net entity-framework-4 entity-framework-4.1 ef-code-first

我正在尝试通过其id属性获取实体。我知道我可以逐个获取它们,但我认为最好的获取方式是单次调用。那我怎么能在下面的样本中做到这一点?

    internal List<Product> GetProducts(int[] productIds)
    {
        IQueryable<Product> query = ctx.Products;
        //how to fetch ?
        return query.ToList();
    }

3 个答案:

答案 0 :(得分:2)

internal List<Product> GetProducts(int[] productIds)
    {
        IQueryable<Product> query = ctx.Products.Where(product => productIds.Contains(product.ID));

        return query.ToList();
    }

答案 1 :(得分:1)

你正在寻找这个: -

    var product = from p in Products
         where productid.Contains(p.Id) 
         select p;

答案 2 :(得分:1)

return query.Where(x => productIds.Contains(x.ProductId)).ToList();