在mysql中这个查询返回行:
SELECT * FROM conta.subrecurso as a
left join conta.recurso as b on a.idRecurso=b.idRecurso
left join conta.eventorecurso as c on b.idRecurso=c.idRecurso
left join conta.recursocliente as d on a.idSubrecurso=d.idSubrecurso
left join conta.eventocliente as e on d.idVenta=e.idVenta
WHERE c.idEvento=47 and e.idVenta is null ;
但这转化为linq不会返回任何内容:
var subrec4 = (from sr in db.subrecurso
join r in db.recurso on sr.idRecurso equals r.idRecurso
join er in db.eventorecurso on r.idRecurso equals er.idRecurso
join rc in db.recursocliente on sr.idSubrecurso equals rc.idSubrecurso
join ec in db.eventocliente on rc.idVenta equals ec.idVenta
where er.idEvento == idEvento && ec.idVenta==null
select sr).toList()
我不知道如何得到与其他列表的关系为空的行。 查询的模型在这里:
public int idVenta { get; set; }
public int idEvento { get; set; }
public int idCliente { get; set; }
public string tipoCliente { get; set; }
public int nroReserva { get; set; }
public decimal montoTotalBs { get; set; }
public bool fact { get; set; }
public int cantidadPersonas { get; set; }
public decimal aCuentaBs { get; set; }
public decimal saldoBs { get; set; }
public decimal descuentoBs { get; set; }