2

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)

エンティティ フレームワークで最初のクエリを実行するにはどうすればよいですか?

エンティティフレームワークの2番目のクエリはそれです

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)

しかし、最初のクエリを取得できませんでした

4

1 に答える 1

0

これはトリックを行います:

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
于 2013-04-25T17:11:09.753 に答える