Witam. Potrzebuję zrobić coś takiego, żeby użytkownik mógł być w wielu grupach na raz. Mam takie dwa modele:
Group.cs:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace Auth.Models
{
public class Group
{
public Group()
{
Users = new List<AppUser>();
}
[Key]
public Guid Id { get; set; }
public string GroupName { get; set; }
public ICollection<AppUser> Users { get; set; }
}
}
AppUser.cs:
using System.ComponentModel.DataAnnotations;
namespace Auth.Models
{
public class AppUser
{
[Key]
public int Id { get; set; }
[Required(ErrorMessage = "* Nazwa użytkownika jest wymagana")]
[MinLength(5, ErrorMessage = "* Nazwa użytkownika musi zawierać co najmniej pięć znaków")]
public string UserName { get; set; }
[Required(ErrorMessage = "* Hasło jest wymagane")]
[MinLength(7, ErrorMessage = "* Hasło musi zawierać co najmniej 7 znaków")]
public string Password { get; set; }
[Required(ErrorMessage = "* E-mail jest wymagany")]
public string Email { get; set; }
}
}
To tworzy mi tabelke Groups, która zawiera kolumny Id oraz GroupName, oraz tabelke Users, która zawiera kolumny Id, UserName, Password, Email, ChatId. Myślałem, że jakoś magicznie do ChatId będzie zapisywać się każde Id grupy, do której należy użytkownik, jednak zapisuje się tam tylko to Id grupy, do której ostatnio dołączył. Listy zapisać się nie da w bazie danych, kompletnie nie mam pomysłu jak mogę zapisać wszystkie grupy :/. Znaczy, mam jeden, aczkolwiek wydaję mi się taki meh, że można zrobić to lepiej. Tylko jak? Dzięki z góry.