I'm trying to do "join" using Dynamic LINQ and I can not. The code that gives this error:
var dados = (from a in db.Usuario
join b in db.Pessoa on a.PessoaID equals b.PessoaID
join c in db.TipoPessoa on b.TipoPessoaID equals c.TipoPessoaID
join d in db.Sexo on b.SexoID equals d.SexoID)
.Where("(EmpresaID == " + _EmpresaID + " || EmpresaID == 0) && Apagado == \"N\"")
.OrderBy(sidx + " " + sord)
.Skip(pageIndex * pageSize)
.Take(pageSize)
.Select("new (ID = a.UsuarioID,Login = a.Login )");
However, this code here, not "join" gives no problem.
var EspecialidadeMedicaLista = (from lista in db.EspecialidadeMedica
.Where("(EmpresaID == " + _EmpresaID + " || EmpresaID == 0) && Apagado == \"N\"")
.OrderBy(sidx + " " + sord)
.Skip(pageIndex * pageSize)
.Take(pageSize)
select lista);
What is the secret?
Tks
我认为这可能是由于您加入的结果为null造成的,也许在最终选择之前检查null会有所帮助。
Solution:
var dados = from a in db.Usuario
join b in db.Pessoa on a.PessoaID equals b.PessoaID
join c in db.TipoPessoa on b.TipoPessoaID equals c.TipoPessoaID
join d in db.Sexo on b.SexoID equals d.SexoID
select new
{
ID = a.UsuarioID,
Login = a.Login,
Fixo = a.Fixo,
Nome = b.Nome,
EmpresaID = a.EmpresaID,
Apagado = a.Apagado
};
dados = dados.Where("(EmpresaID == " + _EmpresaID + " || EmpresaID == 0) && Apagado == \"N\"");
dados = dados.OrderBy(sidx + " " + sord);
dados = dados.Skip(pageIndex * pageSize);
dados = dados.Take(pageSize);
tks help...
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.