У меня есть экран, на котором пользователь может выбрать категории, на которые они хотят подписаться. Они могут выбирать нулевые для многих категорий. Они сохраняются в таблице UserCategory, которая имеет идентификатор пользователя и идентификатор категории.Помощь с запросом Linq
Итак, если пользователь выбирает 2 из 8 категорий, я пишу две строки с идентификаторами категорий и идентификатором пользователя.
(Он теперь приписан к двум категориям)
Однако, если пользователь возвращается, и отменяет одну из категорий, а затем добавляют 2 различных категорий, он будет назначен на 3 категорию ...
Но я не уверен в том, чтобы справиться с этим в linq ... Как-то мне нужно сделать что-то вроде ... УДАЛИТЬ ИЗ UserCategories, где userId =: UserId и CategoryId NOT IN int [] идентификаторов категории пройден in .... И тогда мне нужно ВСТАВИТЬ В UserCategories ... идентификаторы категории int [], но не те, которые уже существуют.
И мне нужно сделать это в Linq, используя Entity Framework ... Может ли кто-нибудь помочь?
Спасибо @ChrisF - Это, безусловно, вариант, который я, возможно, буду использовать. Я могу удалить из таблицы, где UserId =: UserId, а затем повторно добавить на основе int [] категорий. Это довольно легко и очень быстро, поэтому я могу пойти по этому маршруту. Просто ожидая, есть ли другие способы - потому что я храню данные аудита (была создана дата Link, и кто был создан). Выполнение этого метода приведет к удалению всех данных аудита. – Craig
@cdotlister - Необходимые данные аудита усложнят ситуацию. Хм. Не уверен, как действовать в этом случае. – ChrisF
Я пошел по этому маршруту ... так как это связующая таблица и просто используется для помощи пользователю в выборе, я решил, что в этом случае нам не нужно проверять таблицу. Пользователь - единственный человек, который может это изменить. Это предпочтение. Итак, сделано. Благодарю. – Craig