Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

227
Visualizações
Cómo pasar classProperty a LINQ usando expresiones

Tengo una consulta LINQ y quiero pasarle parámetros de persona. Probablemente debería ser algo como esto.

 Expression<Func<Person, long>> exp1 = person.CarId; Expression<Func<Person, long>> exp2 = person.PetId; var result = db.people.Select(x => new {PersonName = x.Name, EntityId = exp1}).ToList()

¿Cómo puedo hacerlo?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

He usado IQueryble para reutilizar partes de consultas. Era algo como lo siguiente:

 var withPets = Get(GetWithPetId); List<WithEntityId> Get(Func<IQueryable<Person>, IQueryable<WithEntityId>> transformer) { transformer(db.People.Where(...)) .Where( x => x.EntityId > 100) .ToList(); } IQueryable<WithEntityId> GetWithPetId(IQueryable<Person> people) => people.Select(x => new WithEntityId(x.Name, x.PetId)); IQueryable<WithEntityId> GetWithCard(IQueryable<Person> people) => people.Select(x => new WithEntityId(x.Name, x.CarId));
over 4 years ago · Santiago Trujillo Relatório

0

Vanilla EF no permite este tipo de consultas. Sugeriría usar LINQKit . Solo necesita configurar DbContextOptions :

 builder .UseSqlServer(connectionString) .WithExpressionExpanding(); // enabling LINQKit extension

Entonces puedes usar tus expresiones de la siguiente manera:

 var result = db.people .Select(x => new {PersonName = x.Name, EntityId = exp1.Invoke(x)}) .ToList()
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda