Условное отображение с использованием GraphDiff - PullRequest
0 голосов
/ 14 ноября 2018

У меня проблема с GraphDiff при сохранении некоторых данных, и мне просто нужно, чтобы кто-то подтвердил, если это возможно.

Я приведу пример того, что происходит:

Во-первых, я использую VS2017 (последняя редакция) EF 6, Automapper и GraphDiff.

У меня есть таблица, которая содержит следующие данные.

Table Data

Как видно из приведенного списка данных для ParcelId, равного 5023, единственным отличием являются флаги IsAcquired и IsCurrent.

Я не буду вдаваться в код, который обновляет данные с установленным значением true для флага IsCurrent, поскольку это очень сложно, но по сути экран позволяет пользователям вводить значения, которые при сохранении устанавливают записи во втором списке из IsCurrent для False и вставляет три новые записи, которые имеют новые значения и для IsCurrent установлено значение True. Это дает нам возможность отменить эти записи.

Теперь у меня другой экран, который позволяет редактировать основные данные или, другими словами, данные из первой сетки.

Это использует GrphDiff для обновления данных. Данные, находящиеся во второй сетке, НЕ восстанавливаются для этого редактирования, но при сохранении операции GraphDiff видит, что данные отличаются и перезаписывается.

dbContext.UpdateGraph(a,map=>map.OwnedCollection(x => x.ParcelRight);

Мне нужно, чтобы он игнорировал записи о том, что IsCurrent равен true, и обновляет только записи, имеющие IsAcquired = true.

Я пытался:

dbContext.UpdateGraph(a,map=>map.OwnedCollection(x => x.ParcelRight
                    .Where(r => r.IsAcquired == true).ToList());

но это не сработало.

Я обнаружил следующее, что подразумевает, что это невозможно сделать.

Research

1 Ответ

0 голосов
/ 16 ноября 2018

Спасибо всем, кто смотрел на это, но похоже, что это вызывает проблемы с GraphDiff, поэтому я изменил свой код для этого обновления, чтобы использовать более традиционное решение Linq to Entites.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...