C # Использование динамической строки или запроса в лямбда-выражении - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь написать лямбда-выражение c # с динамическим условием «где» и пытаюсь понять тип содержимого внутри условия «где». Как я могу динамически вызывать этот контент внутри where?

Я беру строку здесь, например

string query1 = "p=>p.id == 1 && p.name==\"abc\" ";
string query2 = "p=>p.id == 2 && p.name==\"def\" ";

//Normal Lambda Expression:
var details = _db.MyTable.Where(p=>p.id == 1 && p.name=="abc")

//Trying to check these if it works 
var details1 = _db.MyTable.Where(query1)

var details2 = _db.MyTable.Where(query2)

1 Ответ

0 голосов
/ 10 мая 2018

Лямбда-выражения могут использовать переменные в своей области видимости, поэтому вы можете записать их как:

int queryId = 1;
string queryName = "abc";
var details = _db.MyTable.Where(p=>p.id == queryId && p.name== queryName);

Таким образом, вы можете определить, какие queryID и queryName были динамически, и передать их в лямбда-выражение. Я также предполагаю, что вы намеревались проверять равенство с ==, а не назначать с =.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...