C помощью Linq не могу получить правильную выборку

167
03 октября 2018, 20:40

Есть следующая задача. Нужно выбрать из данной таблицы следующее:

  1. Общие настройки для первого и второго типа системы, сделал так:

    var general =
        dtSettings.AsEnumerable()
        .Where(
            r =>
                r.Field<bool>("forEachRow") == false && r.Field<string>("delimiter") == string.Empty &&
               (r.Field<int>("out_in_block") == 1 || r.Field<int>("out_in_block") == 2));
    
  2. Выбрать для типа блока 1. Все поля с out_in_block=1 и минус выборка из первого примера. Я пытался сделать, что-то в обратную сторону делая условие вроде:

    var vnytrblock = dtSettings.AsEnumerable().Where(r => r.Field<int>("out_in_block") == 1).
            Where(rs => (rs.Field<bool>("forEachRow") == false && rs.Field<string>("delimiter") != string.Empty)
                        || (rs.Field<bool>("forEachRow") == true && rs.Field<string>("delimiter") == string.Empty)
            );
    

UPD:

name_column (varchar45)/строка

delimiter (varchar4)/строка

delimiter_column (int)/число

out_in_block (int)/число

forEachRow (tinyint1)/булевое

Answer 1

Не совсем очевидно, что тут за источник данных, но в LINQ есть метод Except https://msdn.microsoft.com/ru-ru/library/bb300779(v=vs.110).aspx, который призван исключить одинаковые элементы из последовательности.

var vnytrblock = dtSettings.AsEnumerable()
    .Where(r => r.Field<int>("out_in_block") == 1)
    .Except(    dtSettings.AsEnumerable()
.Where(
    r =>
        r.Field<bool>("forEachRow") == false && r.Field<string>("delimiter") == string.Empty &&
       (r.Field<int>("out_in_block") == 1 || r.Field<int>("out_in_block") == 2)));

Как-то так это все должно выглядеть.

READ ALSO
Получение позиции курсора мыши в окне

Получение позиции курсора мыши в окне

У меня возникла такая проблема:

171
Передача Bitmap из C# в C++

Передача Bitmap из C# в C++

Собственно вопрос: каким способом можно передать изображение (Bitmap) Из программы, написанной на C# в библиотеку C++Заранее благодарен за ответы

138
Почему различаются ParameterExpression?

Почему различаются ParameterExpression?

Разбираюсь с динамическим построением лямбда-запросов

173