2
我有两个具有一对多关系的实体,我试图选择子项中的主实体过滤属性。加入LINQ到实体并返回关系的右侧
例如:
public class Pedido
{
public int Id { get; set; }
public string Descricao { get; set; }
public virtual ICollection<PedidoItem> Itens { get; set; }
}
public class PedidoItem
{
public int Id { get; set; }
public int PedidoId { get; set; }
public Pedido Pedido { get; set; }
public string Descricao { get; set; }
public int Status { get; set; }
}
public class DataInit : DropCreateDatabaseAlways<Data>
{
protected override void Seed(Data context)
{
context.Pedidos.Add(new Pedido {
Descricao = "PEDIDO UM",
Itens = new List<PedidoItem> {
new PedidoItem {
Descricao = "ITEM UM",
Status = 0 },
new PedidoItem{
Descricao = "ITEM DOIS",
Status = 0 },
new PedidoItem{
Descricao = "ITEM TRES",
Status = 0 },
new PedidoItem{
Descricao = "ITEM QUATRO",
Status = 1 }
}
});
context.SaveChanges();
base.Seed(context);
}
public DataInit()
{
}
}
public class Data : DbContext
{
public DbSet<Pedido> Pedidos { get; set; }
public Data()
{
Database.SetInitializer(new DataInit());
}
}
class Program
{
static void Main(string[] args)
{
Data dt = new Data();
var pedidos = from ped in dt.Pedidos
where ped.Itens.Any(item => item.Status == 1)
select ped;
var lista = pedidos.ToList();
}
}
我在数据库中只有一个Pedido实体与状态= 1一个一个项目,我倒是想回仅此项目具有收藏状态= 1,如何我应该怎么做?
我倒是想与只有一个过滤项(item.Status == 1)