Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

188
Views
Obtenga una lista de todos los alias y la unión con el nombre

Digamos que tengo las siguientes entidades.

 class Product { public int Id { get; set; } public string Name { get; set; } } class ProductAlias { public int ProductId { get; set; } public string Alias { get; set; } }

Dado un ID de producto, ¿cómo podría crear una lista de todos los alias para ese producto que incluya el Name del producto en una sola consulta?

No sé si puedo hacer algo como lo siguiente. Esta sintaxis no funciona porque Union() no toma una expresión lambda.

 DbContext.Products .Where(p => p.Id == productId) .Select(p => p.Name) .Union(p => p.ProductAliases.Select(a => a.Alias)) .ToList();
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Una las dos tablas en Id y ProductId , seleccione todos los atributos necesarios ( Id , Name , Alias ) y filtre en Id .

 products .Join(aliases, p => p.Id, a => a.ProductId, (p,a) => new { p.Name, p.Id, a.Alias}) .Where(p => p.Id == productId);

En otra forma:

 (from p in products join a in aliases on p.Id equals a.ProductId select new { p.Name, p.Id, a.Alias }) .Where(p => p.Id == productId);

El resultado (con LINQ2Object para la prueba, pero debería funcionar también con LINQ2SQL):

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Report

0

Prueba lo siguiente:

 var products = DbContext.Products .Where(p => p.Id == productId); products .Select(p => p.Name) .Union(products.SelectMany(p => p.ProductAliases.Select(a => a.Alias))) .ToList();
over 4 years ago · Santiago Trujillo Report

0

Puede hacer el equivalente a un SQL Server unpivot como este

 DbContext.Products .Where(p => p.Id == productId) .SelectMany(p => p.ProductAliases.Select(a => a.Alias).Append(p.Name)) .ToList();
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!