Come si crea una query Linq IQueryable Dove query con predicato di stringa e parametri oggetto []

2

Vorrei creare un metodo IQueryable Where come mostrato di seguito:

public static IQueryable Where(this IQueryable source, string predicate, params object[] values)
{}

Quindi invece di Where(u => u.Points >= 20) potrei passare un predicato di stringa come Where("Points >= param0", 20)

Quali sarebbero le implicazioni nel portare a termine questo compito?

    
posta DaveSmith 19.02.2017 - 02:29
fonte

1 risposta

2

Il codice per realizzare ciò che stai chiedendo è grande, è più facile usare il pacchetto NuGet NequeoLinq . Codice di esempio, per prima cosa aggiungi l'estensione

using Nequeo.Extension;
using Nequeo.Linq.Extension;

Su qualsiasi tipo di raccolta:

Where("ProOne >= @0 && ProTwo <= @1", 30, 70);

Passa il predicato come una stringa contenente i nomi di proprietà del tipo di raccolta e la raccolta di parametri contenuti nel predicato (@ 0, @ 1 si riferiscono a 30 e 70).

    
risposta data 19.02.2017 - 02:59
fonte

Leggi altre domande sui tag