169 похожих чатов

Ребят, подскажите пожалуйста, у меня есть EF и в нём

есть many-to-many

public class ApplicationUser
{
public List<Group>...
}
public class Group
{
public List<ApplicationUser>...
}

EF их отлично коннектит через замечательную табличку (см. ниже). Но при попытке выйти из группы ничего не происходит, БД остаётся нетронутой:
...
var group = await _context.Groups.FirstOrDefaultAsync(...)
var user = await _context.Users.FirstOrDefaultAsync(...)
...
group.ApplicationUsers.Remove(user);
user.Groups.Remove(group);
await _context.SaveChangesAsync();
...
Я примерно понимаю в чём проблема (полтора часа чтения стаковерфлоу не прошли даром), но не понимаю как это исправить не ломая всё
Я увидел что можно ручками создать many to many, зарегать для этой промежуточной таблицы DbSet и все операции делать через него, но на данном этапе это будет лютейший дрочь, есть ли какой-то лайфхак как можно удалить юзера из группы и группу из юзера, не меняя схему БД?

6 ответов

2 просмотра

Если у тебя много ко многому, у тебя должно удаляться с одной и той же таблички

_context.Groups.Include(g => g.ApplicationUsers).FirstOrDefault(g => g.Id == 100500)

Oleg- Автор вопроса
Andrii Kurdiumov
_context.Groups.Include(g => g.ApplicationUsers).F...

Найс! Почему-то в другом месте когда я юзал Include мне оно выпадало в вечную рекурсию. Спасибо!

Mаксим
Если у тебя много ко многому, у тебя должно удалят...

Тогда появятся орфанные юзера или группы (юзера без групп или группы без юзеров) не уверен что это ок для требований

Oleg- Автор вопроса
Ivan Stellmann
Тогда появятся орфанные юзера или группы (юзера бе...

Это как раз не беда, просто переделывать все сервисы под то, что бы использовать новую таблицу не было сило

Ivan Stellmann
Тогда появятся орфанные юзера или группы (юзера бе...

так ты ведь с бд все равно это сможешь достать

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

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
1
Святости? Когда дотумкаешь что открытое лучше закрытого - кастани
zamtmn
9
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
ты вот так хотел? а пурджить arg бесполезно это не макрос, вот рестроить arg смысл есть, но в конце области видимости, а не перед началом новой области видимости.
ProMiNick
7
Карта сайта