quarta-feira, 15 de abril de 2015

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);


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"}');

Nenhum comentário:

Postar um comentário