Как эффективно реализовать отношения 1 ко многим? - PullRequest
0 голосов
/ 16 марта 2020

У меня есть модель EF, к которой подключено 1 к 1 для многих таблиц, но у меня возникают проблемы при подключении таблицы 1 ко многим. В настоящее время используется EF6. Net 4.8. Я получаю сообщение об ошибке: «Множественность недопустима в роли» в отношении «Login_Users». Поскольку зависимая роль ссылается на ключевые свойства, верхняя граница множественности зависимой роли должна быть «1» »

Основная таблица: Пользователи

public partial class Users
{
    public Users()
    {
        this.Login = new HashSet<Login>();
        this.Phone = new HashSet<Phone>();
    }
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public string Name { get; set; }
    public string Email { get; set; }
    public System.DateTime BirthDate { get; set; }
    public int LastFourSSN { get; set; }
    public Nullable<int> AddressId { get; set; }


    public virtual Address Address { get; set; }
    public virtual ICollection<Login> Login { get; set; }
    public virtual ICollection<Phone> Phone { get; set; }
}

Таблицы один к одному

public partial class Login
{
    public Login()
    {
        this.Login_Track = new HashSet<Login_Track>();
        this.Policy = new HashSet<Policy>();
    }

    public string Username { get; set; }
    public string Password { get; set; }
    [Key, ForeignKey("Users")]
    public Nullable<int> UserId { get; set; }
    public System.DateTime CreationDate { get; set; }
    public Nullable<System.DateTime> LastLoginDate { get; set; }

    public virtual Users Users { get; set; }
}

Адрес

public partial class Address
{
    public Address()
    {
        this.Users = new HashSet<Users>();
    }
    [Key, ForeignKey("Users")]
    public int Id { get; set; }
    public string AddressLine1 { get; set; }
    public string AddressLine2 { get; set; }
    public string City { get; set; }
    public string County { get; set; }
    public string State { get; set; }
    public string PostalCode { get; set; }

    public virtual ICollection<Users> Users { get; set; }
}

1 ко многим столам

public partial class Phone
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public string Number { get; set; }
    public string Type { get; set; }
    [ForeignKey("Users")]
    public Nullable<int> UserId { get; set; }
    public virtual Users Users { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...