¿Cómo puedo hacer esto consulta de SQL con Entity Framework?Entity Framework seleccione el nombre distinto
SELECT DISTINCT NAME FROM TestAddresses
¿Cómo puedo hacer esto consulta de SQL con Entity Framework?Entity Framework seleccione el nombre distinto
SELECT DISTINCT NAME FROM TestAddresses
El uso de la expresión lambda ..
var result = EFContext.TestAddresses.Select(m => m.Name).Distinct();
Prueba esto:
var results = (from ta in context.TestAddresses
select ta.Name).Distinct();
Esto le dará una IEnumerable<string>
- puede llamar .ToList()
en él para obtener un List<string>
.
Entidad-Marco Seleccione nombre distinto:
Supongamos que si usted está usando Vistas en el que se están utilizando varias tablas y desea aplique distinto en ese caso, primero debe almacenar el valor en la variable &, luego puede aplicar Distinct en esa variable como esta ....
public List<Item_Img_Sal_VIEW> GetItemDescription(int ItemNo)
{
var Result= db.Item_Img_Sal_VIEW.Where(p => p.ItemID == ItemNo).ToList();
return Result.Distinct().ToList();
}
O puede probar este ejemplo simple
Public Function GetUniqueLocation() As List(Of Integer)
Return db.LoginUsers.Select(Function(p) p.LocID).Distinct().ToList()
End Function
No funciona su código @ayaat –
Puede copiar/escribir su código aquí –
Hola, cuando hago esto en una tabla, me sale un error -> ** no puedo convertir la cadena a IEnumreable .. ** ¿me puede mostrar cómo obtener una lista para que pueda completar una lista desplegable, con valores distintos de una columna de tabla que contiene NVARCHAR en EF DB. – aggie
La forma en que @alliswell mostró es completamente válido, y no hay otra manera! :)
var result = EFContext.TestAddresses
.GroupBy(ta => ta.Name)
.Select(ta => ta.Key);
Espero que sea útil para alguien.
esto fue muy útil para mí ya que necesitaba seleccionar varias columnas – mamashare
product.Select(m => new {m.CategoryId, m.CategoryName}).Distinct();
En este ejemplo hay CategoryId duplicado y sin CategoryName espero que esto le ayudará a
Entidad-Marco Seleccionar nombre distinto:
Supongamos que si usted está quiere todos los primeros datos de la columna particular de cada grupo;
var data = objDb.TableName.GroupBy(dt => dt.ColumnName).Select(dt => new { dt.Key }).ToList();
foreach (var item in data)
{
var data2= objDb.TableName.Where(dt=>dt.ColumnName==item.Key).Select(dt=>new {dt.SelectYourColumn}).Distinct().FirstOrDefault();
//Eg.
{
ListBox1.Items.Add(data2.ColumnName);
}
}
uso Seleccionar(). Distinto()
por ejemplo
DBContext db = new DBContext();
var data= db.User_Food_UserIntakeFood .Where(f => f.PersonID == PersonID) .Select(c => new { c.DateOfIntake, c.TimeOfIntake }).Distinct();
De esta manera se mejora el rendimiento de la agrupación. Distinto: Tiempos de ejecución de SQL Server: Tiempo de CPU = 0 ms, tiempo transcurrido = 50 ms. Agrupamiento: Tiempos de ejecución de SQL Server: Tiempo de CPU = 0 ms, tiempo transcurrido = 112 ms. –