Я пытаюсь добавить ссылку на дополнительную таблицу, а затем загрузить информацию из базы данных. Я хочу добавить UserSettings, так как пользователь может иметь несколько параметров, которые можно настроить.
Я думаю, что все настроил правильно, но каким-то образом информация из таблицы внешних ключей не загружается. Я пробовал разные посты из предыдущих вопросов, но не могу решить проблему.
Код в UserSetting.cs
public class UserSetting
{
public string ID { get; set; }
public string SettingType { get; set; }
public string Description { get; set; }
public string SettingValue { get; set; }
public virtual ApplicationUser ApplicationUser { get; set; }
}
Код в ApplicationUser.cs
public class ApplicationUser : IdentityUser
{
public virtual List<UserSetting> UserSettings { get; set; }
}
Код в AppDbContext.cs
public class AppDbContext : IdentityDbContext<ApplicationUser>
{
public AppDbContext(DbContextOptions<AppDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<ApplicationUser>(b =>
{
b.HasMany(e => e.UserSettings)
.WithOne()
.HasForeignKey(uc => uc.ID)
.IsRequired();
});
}
}
Код в HomeController.cs
public class HomeController : Controller
{
private readonly UserManager<ApplicationUser> userManager;
public HomeController(UserManager<ApplicationUser> userManager
{
this.userManager = userManager;
}
public async Task<IActionResult> LoadProfile()
{
var user = await userManager.FindByNameAsync("username");
}
}
Где и как загрузить UserSettings в класс ApplicationUser, чтобы я мог ссылаться на это?