繁体   English   中英

实体框架多列

[英]entity framework multi column

在sqlcommand我有这个:

SELECT * 
FROM cliente c
    LEFT JOIN abono a on
        c.idcliente = a.idcliente
        and (a.estatus = 1 or a.estatus = null)
    LEFT JOIN usuario u on
        a.creadopor = u.idusuario
WHERE c.estatus = 1

我们知道这并不相同:

SELECT * 
FROM cliente c
     LEFT JOIN abono a on
         c.idcliente = a.idcliente
     LEFT JOIN usuario u on
         a.creadopor = u.idusuario
WHERE c.estatus=1
      and (a.estatus = 1 or a.estatus = null)

如何在实体框架中进行第一个查询?

实体框架中的第二个查询是

from c in Conexion.conexion.conect.cliente
join a in Conexion.conexion.conect.abono
on c.idcliente equals a.idcliente into alj
from a in alj.DefaultIfEmpty()
join u in Conexion.conexion.conect.usuario
on a.creadopor equals u.idusuario into ulj
from u in ulj.DefaultIfEmpty()
where c.estatus == 1
&& (a.estatus == 1 || a.estatus == null)

但我无法获得第一个查询

这可以解决问题:

from c in Conexion.conexion.conect.cliente
join a in Conexion.conexion.conect.abono.Where(x.estatus == 1 || x.estatus == null)
on c.idcliente equals a.idcliente into alj
from a in alj.DefaultIfEmpty()
join u in Conexion.conexion.conect.usuario
on a.creadopor equals u.idusuario into ulj
from u in ulj.DefaultIfEmpty()
where c.estatus == 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM