Articles of linq

Creación en tiempo de ejecución de la expresión LINQ

Di que tengo esta expresión: int setsize = 20; Expression<Func> predicate = x => x.Seed % setsize == 1 || x.Seed % setsize == 4; Esto básicamente ‘divide’ un conjunto de elementos en 20 particiones y recupera de cada conjunto cada primer y cuarto elemento. Esta expresión se pasa a MongoDB, que su controlador es […]

¿Por qué no hay inteligencia cuando la instrucción LINQ no tiene una cláusula donde?

¿Alguien puede decirme por qué no tengo inteligencia con este código? var testDocuments = (from u in db.TestDocuments orderby u.WhenCreated descending select u). pero tengo inteligencia con este código: var testDocuments = (from u in db.TestDocuments orderby u.WhenCreated descending where 1==1 select u).

Cómo preguntar “¿Existe exactamente un elemento que satisface la condición” en LINQ?

Pregunta rápida, ¿cuál es la forma preferible de hacer preguntas programáticas? ¿Hay exactamente un elemento en esta secuencia que satisfaga la condición X? usando linq? es decir // Pretend that the .OneAndOnlyOne() method exists int[] sequence = new int[] { 1, 1, 2, 3, 5, 8 }; Assert.IsTrue(sequence.OneAndOnlyOne(x => x == 2); Assert.IsFalse(sequence.OneAndOnlyOne(x => x […]

¿Comprender las diversas opciones para la generación de código en tiempo de ejecución en C # (Roslyn, CodeDom, Linq Expressions, …?)

Estoy trabajando en una aplicación en la que me gustaría generar código de forma dinámica para un cálculo numérico (para el rendimiento). Hacer este cálculo como una operación basada en datos es demasiado lento. Para describir mis requerimientos, considera esta clase: class Simulation { Dictionary nodes; double t, dt; private void ProcessOneSample() { t += […]

Uso del método WithMessage de FluentValidation con una lista de parámetros nombrados

Estoy usando FluentValidation y quiero formatear un mensaje con algunas de las propiedades del objeto. El problema es que tengo muy poca experiencia con expresiones y delegates en C #. FluentValidation ya proporciona una manera de hacer esto con argumentos de formato. RuleFor(x => x.Name).NotEmpty() .WithMessage(“The name {1} is not valid for Id {0}”, x […]

Localización / I18n de datos de base de datos en LINQ to SQL

Tengo tablas de estado en mi base de datos y tablas “localizadas” que contienen versiones específicas de cada idioma de esos estados. El punto de la tabla de estado principal es definir los valores de ID de estado y otros metadatos sobre el estado. La tabla “localizada” es mostrar la representación de texto en una […]

Cómo escribir la consulta LINQ con el nombre de la columna como parámetro de forma segura y segura

Estoy buscando ayuda sobre cómo lograr esto con LINQ de forma segura. Necesito realizar una búsqueda en la tabla “Rendimiento” con muchas columnas. Basándome en los criterios especificados para la búsqueda, debo seleccionar columnas y realizar búsquedas en esas columnas con valores dados. private static IQueryable PerformanceSearch(IQueryable investments, **??? searchColumn**, double minValue, double maxValue) { […]

¿Hay alguna forma de pasar la expresión lambda como una variable o argumento?

Necesito pasar la consulta lambda como parámetro, el código siguiente es una muestra y me interesa encontrar un implemento para ella, hay muestras: algo como esto: var expr1 = Where(n => n > 6).OrderBy(n => n % 2 == 0).Select(n => n); var expr2 = TakeWhile((n, index) => n >= index)); Y úsalo así: public […]

C # – Rellene una lista usando expresiones lambda o LINQ

Ha pasado un tiempo desde que usé expresiones lambda o LINQ y me pregunto cómo haría lo siguiente (sé que puedo usar un bucle foreach, esto es solo por curiosidad) usando ambos métodos. Tengo una matriz de rutas de cadena (¿hace una diferencia si es una matriz o una lista aquí?) Desde la que quiero […]

Agrupando por cada n minutos.

Estoy jugando con LINQ y me preguntaba qué tan fácil sería agrupar por minutos, pero en lugar de tener cada minuto, me gustaría agrupar por cada 5 minutos. Por ejemplo, actualmente tengo: var q = (from cr in JK_ChallengeResponses where cr.Challenge_id == 114 group cr.Challenge_id by new { cr.Updated_date.Date, cr.Updated_date.Hour, cr.Updated_date.Minute } into g select […]