Итак, у меня есть следующие 3 класса:
User.cs
public class User
{
public int Id { get; set; }
public string Username { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public virtual Timezone Timezone { get; set; }
public virtual ICollection<UserChannel> UserChannels { get; set; }
}
Канал. cs
public class Channel
{
public int Id { get; set; }
[Column("Channel")]
public string Name { get; set; }
}
UserChannel.cs
public class UserChannel
{
public int Id { get; set; }
public virtual User User { get; set; }
public virtual Channel Channel { get; set; }
}
UserChannel
является средним значением между User
и Channel
.
Таблица UserChannels
выглядит следующим образом:
+----+--------+-----------+
| Id | UserId | ChannelId |
+----+--------+-----------+
Оба UserId
и ChannelId
являются внешними ключами, для User
и Channel
класс.
Теперь, чтобы узнать, какие Channels
принадлежат пользователю, мне нужно написать что-то вроде этого:
using var context = new TwitchContext();
var me = context.Users.FirstOrDefault(x => x.Id == 1);
var myChannels = me.UserChannels.Select(x => x.Channel);
Есть ли способ, которым я могу просто получить коллекцию Channel
напрямую вместо использования UserChannel
?