2

I Got This Issue:Невозможно установить соотношение между 2 DB Модели

У меня есть класс приложения пользователя, как это


public class ApplicationUser : IdentityUser 
    { 
     public ROLES Role { get; set; } 
     public int? CompanyId { get; set; } 
     public int? AreaId { get; set; } 
     public string Document { get; set; } 
     public bool Enable { get; set; } 

     [ForeignKey("CompanyId")] 
     public virtual Company Company { get; set; } 
     [ForeignKey("AreaId")] 
     public virtual Area Area { get; set; } 
     public virtual ICollection Measures { get; set; } 

    } 

И я получил это еще одна модель:



public class Area 
    { 
     public int AreaId { get; set; } 
     public string AreaName { get; set; } 
     public int CompanyId { get; set; } 
     public string UserId { get; set; } 

     [ForeignKey("CompanyId")] 
     public virtual Company Company { get; set; } 
     [Key, ForeignKey("UserId")] 
     public ApplicationUser ApplicationUser { get; set; } 
    } 

И когда я пытаюсь: add-migration

ПМ консоли броски:

Невозможно определить основной конец ассоциации между типами «x.Models.ApplicationUser» и «x.Models.Area». Основной конец этой ассоциации должен быть явно сконфигурирован с использованием либо свободного API API, либо аннотаций данных.

Я пробовал весь день, но я не могу найти способ сообщить Entity Framework о признании отношения.

Любые идеи?

Спасибо за чтение

+0

Я думаю, что это задыхается от вас. Похоже, что это требуется в классе Area. Попробуйте использовать атрибут Required или используйте свободный API, чтобы указать, что он требуется, а другой - необязательный. – Kirby

ответ

0

Добавить атрибут для Areaid в классе Area

[Key] 
public int AreaId { get; set; } 

и если вы хотите 1-1 отношения к ApplicationUser и Area обновить свой код, как

[Unique] 
[ForeignKey("UserId")] 
public ApplicationUser ApplicationUser { get; set; } 
+0

Да, я попробую, но ... – NivekJump

+0

Я хочу использовать AreaId в ApplicationUser его необязательный ключ А также пользователь приложения его необязательныйKey в Area. – NivekJump

+0

Вы хотите, чтобы многие отношения были связаны –