Saltar al contenido

¿Cómo seleccionar una sola columna con Entity Framework?

Solución:

Puedes usar LINQ’s .Select() Para hacer eso. En su caso, sería algo como:

string Name = yourDbContext
  .MyTable
  .Where(u => u.UserId == 1)
  .Select(u => u.Name)
  .SingleOrDefault(); // This is what actually executes the request and return a response

Si espera más de una entrada como respuesta, puede usar .ToList() en su lugar, para ejecutar la solicitud. Algo como esto, para obtener el nombre de todas las personas con 30 años:

string[] Names = yourDbContext
  .MyTable
  .Where(u => u.Age == 30)
  .Select(u => u.Name)
  .ToList();

Soy un novato completo en Entity, pero así es como lo haría en teoría …

var name = yourDbContext.MyTable.Find(1).Name;

Si es una clave principal.

— O —

var name = yourDbContext.MyTable.SingleOrDefault(mytable => mytable.UserId == 1).Name;

— O —

Para toda la columna:

var names = yourDbContext.MyTable
.Where(mytable => mytable.UserId == 1)
.Select(column => column.Name); //You can '.ToList();' this....

Pero “oh Dios, Rick, ¿qué sé yo …?”

Al usar LINQ, su consulta debería verse así:

public User GetUser(int userID){

return
(
 from p in "MyTable" //(Your Entity Model)
 where p.UserID == userID
 select p.Name
).SingleOrDefault();

}

Por supuesto, para hacer esto, necesita tener un modelo de entidad ADO.Net en su solución.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *