为什么列null在linq中没有返回任何内容

时间:2017-03-26 22:44:51

标签: c# mysql linq

在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; }

0 个答案:

没有答案