Lo siguiente funciona bien con tipos de IEnumerable, pero ¿hay alguna forma de que algo como esto funcione con tipos IQueryable en una base de datos sql?LINQ Between Operator
class Program
{
static void Main(string[] args)
{
var items = new[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, };
foreach (var item in items.Where(i => i.Between(2, 6)))
Console.WriteLine(item);
}
}
static class Ext
{
public static bool Between<T>(this T source, T low, T high) where T : IComparable
{
return source.CompareTo(low) >= 0 && source.CompareTo(high) <= 0;
}
}
Niza. Esto también me hizo entender las expresiones de Linq un poco más. – Dykam
Jon, Lo siento, no he aceptado esto. Estado bajo el clima por unos días. Pregunta: usted escribe sobre el uso de operadores de comparación en lugar de IComparable. Como se veria eso? ¿Qué aspecto tendría esto como un IEnumerable ? Necesito jugar con esto y espero hacerlo hoy. ¡Muchas gracias! –
andleer
Usando 'IComparable' necesitaría árboles de expresiones para invocar CompareTo dos veces. Todo factible, pero un poco doloroso. No estoy seguro de lo que quiere decir con "¿Qué aspecto tendría esto como un' IEnumerable '? " - ¿puedes elaborar? –