Динамичный, где пункт в LINQ - с именами столбцов, доступными во времени выполнения

Вы должны использовать flexbox.

вам нужно будет обернуть ваши div в другую ширину div the class = "container"

, тогда вы можете сделать это

   .container {
      display: flex;           /* display side by side */
      align-items: center;     /* align vertically */
    }
    .container > * {
      flex: 1; 
    }
9
задан sandesh247 24 October 2008 в 17:13
поделиться

3 ответа

@Geoff имеет наилучший вариант, выгоняя Динамический LINQ.

Если бы Вы хотите пойти путем создать запросы во времени выполнения с помощью Лямбды, хотя я повторно прокомментировал бы, что Вы используете PredicateBuilder (http://www.albahari.com/nutshell/predicatebuilder.aspx) и имеете что-то, такое как это:

Expression<Fun<T,bool>> pred = null; //delcare the predicate to start with. Note - I don't know your type so I just used T 
if(blacklistFirstName){
  pred = p => p.ContactFirstName.Contains("Blacklisted");
}
if(blacklistLastName){
  if(pred == null){
    pred = p => p.ContactLastName.Contains("Blacklisted"); //if it doesn't exist just assign it
  }else{
    pred = pred.And(p => p.ContactLastName.Contains("Blacklisted"); //otherwise we add it as an And clause
  }
}

И так далее для всех столбцов Вы хотите включать. Когда Вы добираетесь до своего запроса, Вам просто нужно что-то вроде этого:

var results = db.Customers.Where(pred).Select(c => c);

Я использовал это, чтобы сделать здание LINQ для поиска, где существует приблизительно 20 различных вариантов, и это производит действительно хороший SQL.

13
ответ дан 4 December 2019 в 09:39
поделиться
var query = from C in db.Customers select c;

if (seachFirstName)
         query = query.Where(c=>c.ContactFirstname.Contains("Blacklisted"));

if (seachLastName)
         query = query.Where(c=>c.ContactLastname.Contains("Blacklisted"));

if (seachAddress)
         query = query.Where(c=>c.Address.Contains("Blacklisted"));

Обратите внимание, что они не являются взаимоисключающими.

7
ответ дан 4 December 2019 в 09:39
поделиться

Так как это не LINQ к Объектам, а скорее LINQ к SQL, у Вас нет никакой другой альтернативы около использования или Выражения или хранимая процедура.

0
ответ дан 4 December 2019 в 09:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: