Да, вы можете иметь динамические запросы linq во время выполнения, используя строки. Вам необходимо использовать класс ObjectQuery, как указано здесь , а ниже приведен фрагмент кода, чтобы сделать это:
string queryString =
@"SELECT VALUE product FROM AdventureWorksEntities.Products AS product";
// Call the constructor with the specified query and the ObjectContext.
ObjectQuery<Product> productQuery2 =
new ObjectQuery<Product>(queryString, context);
foreach (Product result in productQuery2)
Console.WriteLine("Product Name: {0}", result.Name);
ObjectQuery проверяет запрос по модели LINQ во время выполнения и выдает исключение, если не удается найти некоторые свойства, используемые в запросе.