витягти з бд всіх юзерів, в яких є спільне повідомлення з зазначений юзером через Id
поки є такий варіант, але я взагалі не впевнений що він працює:
from u in _db.Users
join ms in _db.Messages on u.Id equals ms.SenderId
join mr in _db.Messages on u.Id equals mr.ReceiverId
where ms.SenderId == userId ||
mr.ReceiverId == userId
select u
Во первых какого хрена айди вместе с navigation properties Во вторых какого хрена айди строковые В третьих linq джоины не работают так как ты думаешь, они client evaluation only
Я писав цей ентіті по доках, бтв, ці айдішки створюються автоматично, якщо їх не вказати самому Id юзера стандартні з Identity, да, можна замінити на інт, але я залишив як є
айди с пропертис норм же
Зачем они? Без прикола
в доке майков так а зачем хз
Строковые ключи это хреново по перформансу
Я не видел ни одного юзкейса для них нормального Для PK да, для FK это странно
ну ок, це не проблема замінити зараз, а от що як власне вигягати з бд всіх юзерів?
Задать релейшены норм
Всех юзеров по какому критерию?
наличие общего смс с конкретным юзером
Message має 2 FK, якщо один з них це вказаний id, то повернути 2
db.Messages.Where(m => m.Receiver.Id == userId || m.Sender.Id == userId).Select(m => new { m.Receiver, m.Sender })
так, схоже на те, дякую
Скажи лучше подробно что ты пытаешься достать
Всмыли? В linq2db по крайней мере linq джоины в нормальные джоины превращаются
Обсуждают сегодня