Как вставить данные в таблицу ассоциаций, используя первый подход кода Entity Framework - PullRequest
0 голосов
/ 05 апреля 2020

Я работаю над задачей, в которой пользователь должен выбрать несколько категорий услуг, которые хранятся в категории услуг. При этом пользователь может выбрать несколько категорий услуг, а категория услуг может быть выбрана несколькими пользователями (от многих ко многим).

И теперь я хочу сохранить данные в третьей таблице.

У меня есть класс User:

public class User
{
    public int UserId { get; set; }
    public string LoginId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Gender { get; set; }
    public DateTime? DateOfBirth { get; set; }
    public int PhoneNumber { get; set; }
    public int MobileNumber { get; set; }
    public int MobileNumber1 { get; set; }
}

и другой класс ServiceCategory:

public class ServiceCategory
{
    public int ServiceCategoryId { get; set; }
    [DisplayName("Service Category Name")]
    public string ServiceCategoryName { get; set; }
    [DisplayName("Service Category Code")]
    public string ServiceCategoryCode { get; set; }
    public string Description { get; set; }
    public bool IsDelete { get; set; }
}

этот класс содержит количество служб в базе данных уже

Отношение между User и ServiceCategory много-ко-многим, а ассоциированный класс ниже

public class UserServiceCategory
{
    [Key]
    [Column(Order = 0)]
    [ForeignKey("User")]
    public int UserId { get; set; }

    [Key]
    [Column(Order = 1)]
    [ForeignKey("ServiceCategory")]
    public int ServiceCategoryId { get; set; }
    public bool IsActive { get; set; }
    public bool IsDelete { get; set; }
    public DateTime IsDeleteTime { get; set; }
    public DateTime ServiceAddedDate { get; set; }
    public virtual User User { get; set; }
    public virtual ServiceCategory ServiceCategory { get; set; }

}

Это мой контекстный класс:

public class AutoSolutionContext : DbContext
{
    public AutoSolutionContext() : base("name = AutoSolutionContext") { }
    public DbSet<User> User { get; set; }
    public DbSet<ServiceCategory> ServiceCategories { get; set; }
    public DbSet<UserServiceCategory> UserServiceCategories { get; set; }
}

вот моя диаграмма создания базы данных

Я не использую свободный API. так что теперь, как я вставляю данные в ассоциированную таблицу UserServiceCategory.

...