Я знаю о динамическом LINQ, но мне интересно, есть ли способ сделать это, не создавая строку запроса. Я хотел бы иметь возможность использовать все эти красивые встроенные вызовы LINQ, такие как Contains, Count, Distinct и т. Д., Не беспокоясь о SQL, необходимых для их создания. Что я хочу сделать, это:Есть ли способ указать имя поля программно в linq?
AdventureWorks2008R2Entities AWE = new AdventureWorks2008R2Entities();
var query = AWE.Employees.AsQueryable();
object FieldToQuery = ?;
if (textBox1.Text != "") query = query.Where(x => x.FieldToQuery.Contains(textBox1.Text));
Возможно ли это как-то как-то как, или это противоречит основам LINQ?
Вам нужно построить дерево выражений вручную. – SLaks
То, что вы хотите сделать, как правило, не вариант без отражения. Нет простого способа ссылаться на поле/свойство, кроме статической ссылки на него во время компиляции с оператором доступа. – evanmcdonnal
'AdventureWorks2008R2Entities AWE = new AdventureWorks2008R2Entities();' - поэтому ключевое слово 'var' было введено на C#. –