У меня есть две таблицы SQL, User и UserType, объединенные с UserType в качестве внешнего ключа, с соответствующими моделями в ASP. Насколько я понимаю, это должны быть отношения 1: 1 (поправьте меня, если я ошибаюсь). Один уникальный пользователь, установленный как тип пользователя (администратор, супер администратор, пользователь и т. Д.).
Когда я пытаюсь получить список пользователей, он возвращает нулевое значение в свойстве UserType.
Я использовал Google, чтобы добиться этого, но я изо всех сил пытаюсь решить эту конкретную проблему.
В какой-то момент я получил сообщение об ошибке: «Невозможно определить основной конец ассоциации». Чтобы обойти это, я включил аннотацию Required (не сработало) и аннотацию ForeignKey (тоже не сработала) в обеих моделях, одновременно и по отдельности.
Это то, что я имею до сих пор.
[Table("Users", Schema = "dbo")]
public class Users
{
[Key, ForeignKey("UserType")]
public Guid Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string ContactNumber { get; set; }
public UserType UserType { get; set; }
public string IsActive { get; set; }
}
[Table("UserType", Schema = "dbo")]
public class UserType
{
[Key]
public Guid Id { get; set; }
public string Type { get; set; }
public string Description { get; set; }
public string IsActive { get; set; }
public Users Users { get; set; }
}
Я использую приведенный ниже метод LINQ для извлечения данных:
public PagedTables<Users> GetAllUsers(Pagination pagination)
{
using (var db = new DbContext())
{
var user = new PagedTables<Users>()
{
Data = db.Users.OrderBy(U => U.Id).Skip(pagination.Page).Take(pagination.Limit).ToList(),
Count = db.Users.Count()
};
return user;
}
}
Точка останова для var пользователя показывает, что свойство UserType возвращает значение NULL. Я ожидаю, что назначенный тип пользователя будет присоединен к пользователю.
Любая помощь будет оценена. Спасибо