开发者

Entity Framework Contains method and objects

Is there a way of using the Contains method in Entity Framework 4 with the actual id of the object?

Take these entities as an example:

public class Order
{
  public int OrderId { get; set; }              // PK
  public string CustomerId { get; set; }        // FK to Customer
}

public class OrderItem
{
  public int OrderId { get; set开发者_JAVA百科; }              // PK
  public int ItemId { get; set; }               // PK, FK to Item
}

public class Item
{
  public int ItemId { get; set; }               // PK
  public string ItemName { get; set; }
}

and I want to return a list of all orders that have item '5' in them.

I want to be able to do:

List<Order> orders = db.Orders.Where(m => m.OrderItems.Contains(5)).ToList()

But that won't work because Contains needs an actual OrderItem object.

Thanks


var orders = db.Orders.Where(m => m.OrderItems.Any(i => i.OrderId == 5)).ToList();


Try this:

List<Order> orders = db.Orders.Where(m => m.OrderItems.Any(i=>i.OrderId==5)).ToList()

OR

List<Order> orders = db.OrderItems.Where(m => m.OrderId==5).Orders.ToList()
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜