Linq For Delphi XE
Exemplos:
Select
var
Query: IQueryAble;
begin
Query := From(TPessoa).Select([]);
end;
Where
var
Query: IQueryAble;
begin
Query := From(TPessoaFisica).
Where( (PessoaFisica.Nome = 'Lindemberg') and (PessoaFisica.Id=1) ).
Select([PessoaFisica.CPF,PessoaFisica.Nome]);
end;
Joins
var
Query: IQueryAble;
begin
Query := From(TPessoa).
inner( Pessoa.Endereco , Pessoa.Endereco.PessoaId = Pessoa.Id ).
innerLeft( PessoaFisica, PessoaFisica.Id=Pessoa.Id).
Where(Pessoa.Id=1).
OrderBy(Pessoa,[Pessoa.Nome]).
Select([Pessoa.Nome]);
end;
SubQuery
var
Query : IQueryAble;
begin
Query := From(Context.GenSelectSQL(
From( Pessoa ).
inner(PessoaFisica, Pessoa.Id = PessoaFisica.Id ).
Select(Pessoa.Nome) ) ).
Select('NomeFantasia');
End;
Agregates
var
Query : IQueryAble;
begin
Query := From(Pessoa).
Select([Pessoa.Nome,'COUNT(*)']).
GroupBy(Pessoa.Nome).
OrderBy(Pessoa.Nome);
End;
Count
var
Query: IQueryAble;
Cli: TCliente;
begin
Cli:= TCliente.create;
Query := From(Cli).
GroupBy([cli.CPFCNPJ]).
Select([cli.CPFCNPJ]).
Count;
Context.GetQuery(query);
Count
var
Query: IQueryAble;
Cli: TCliente;
begin
Cli:= TCliente.create;
Query := From(Cli).
GroupBy([cli.CPFCNPJ]).
Select([cli.CPFCNPJ]).
Count;
Context.GetQuery(query);
ToList
var
Query: IQueryAble;
CliList: TList<TEntity>;
begin
CliList:= TList<TEntity>.create;
Query := From(TCliente).Select.TopFirst(2);
CliList := Context.ToList(Query);
End;
ToJson
var
Cli: TCliente;
begin
Cli:= TCliente.Create;
Cli.Nome:= 'Lindemberg';
Cli.CPFCNPJ:= '02316937454';
Cli.ToJson;
FromJson
var
c:TCliente;
begin
c := TCliente.create;
c.FromJson('{"Nome":"Lindemberg Cortez","Renda":"100","Idade":"42","DataNascimento":"19/04/1976"}');
ToJson
var
Cli: TCliente;
begin
Cli:= TCliente.Create;
Cli.Nome:= 'Lindemberg';
Cli.CPFCNPJ:= '02316937454';
Cli.ToJson;
FromJson
var
c:TCliente;
begin
c := TCliente.create;
c.FromJson('{"Nome":"Lindemberg Cortez","Renda":"100","Idade":"42","DataNascimento":"19/04/1976"}');