Лично я использую Простой Регистратор , но на работе я использую нашу корпоративную обертку для регистратора JDK. Я использую Простой Регистратор, из-за простоты получения, это настроило и то, что это поддерживает журналирование 7 уровней между Фатальным и Смехотворным.
Вы не можете сделать это из выражения запроса, но можете сделать это с точечной нотацией:
var query = dataTable.AsEnumerable()
.GroupBy(x => table.Field<string>(Column1),
StringComparer.InvariantCultureIgnoreCase)
.Select(groupedTable => new
{
value = groupedTable.Key,
count = groupedTable.Count()
});
Вы даже можете использовать более сложную перегрузку GroupBy
для сделайте это за один вызов:
var query = dataTable.AsEnumerable()
.GroupBy(x => table.Field<string>(Column1),
(key, group) => { value = key,
count = group.Count() },
StringComparer.InvariantCultureIgnoreCase));
Очевидно, что используется инвариантная культура - вы также можете использовать текущую культуру или порядковые правила.
Эта статья MSDN содержит некоторую информацию о наборах данных и чувствительности к регистру ..
Вы можете управлять чувствительностью к регистру фильтрации, поиска и сортировки установив CaseSensitive набора данных property.