Tengo una matriz de ID que quiero pasar al marco de la entidad a través de una consulta LINQ a devolver los partidosmediante LINQ para consultar Int Ids de una matriz
He escrito las consultas LINQ que pueden convertir identificadores de cadenas y utilizar el 'Contiene' operador, tales como:
Modelo
public class Order {
public long OrderId { get; set; }
public string Name { get; set; } ...}
Order[] orders = { new Order { OrderId = 123, Name = "Order1" }, new Order {...},...};
para el que puedo usar algo como:
long[] testArray = {123, 456};
y luego
var result = orders.Where(i => testArray.ToString().Contains(i.OrderId.ToString()));
pero lo que realmente necesita para mantener los identificadores de fundición en cadenas? Parece que no puedo acceder a 'Contiene' si los guardo como enteros.
En última instancia, quiero poder usar esto como parte de una consulta que accede al Entity Framework y así pasar la consulta como parte de un IQueryable <> para asegurarme de que no estoy devolviendo resmas de datos cuando solo quiero un puñado, como por ejemplo:
var orders = _repo.Orders().Where(i => orderArray.Contains(i.OrderId));
lo que cualquier solución que sería útil si los Parámetros de consulta (el conjunto int) a través de la EF en lugar de obtener todos los datos y después de comprobar en la memoria.
¡Salud!
Este es el tipo de cosas que hago con EF ... órdenes var = _repo.Orders() que (i => orderArray.Contains (i.OrderId)); me parece bien. ¿Cuál es el problema exactamente? – Kek
@Kek: No creo que puedas usar listas/matrices locales cuando consultes EF – Jan
mmm Yo diría que puedes. La lista se enumerará y se transformará en una lista de (id = Cste) O ... No veo el problema – Kek