У меня ситуация, когда у пользователя может быть несколько адресов. Соответственно, у меня есть ICollection в моем пользовательском классе. Но я также хочу, чтобы пользователь мог выбрать адрес по умолчанию. Итак, я сделал следующее:
public class User
{
public int Id { get; set; }
public int? DefaultAddressId { get; set; }
[ForeignKey("DefaultAddressId")]
public virtual Address DefaultAddress { get; set; }
public virtual ICollection<Address> Addresses { get; set; }
//properties were removed for purpose of this post
}
Я хотел бы удалить общедоступный виртуальный адрес DefaultAddress {get; установлен; }
вместе, сохраните DefaultAddressId и сопоставьте его с помощью Fluent API, потому что текущая настройка вызывает много проблем (в этом и других классах, где у меня аналогичная настройка). Так можно ли это сделать с помощью свободного API?
ОБНОВЛЕНИЕ: Класс адреса в настоящее время не имеет ссылки на класс User, это однонаправленная связь. Но да, адрес принадлежит только ОДНОМУ пользователю, это не отношение "многие ко многим". Вот класс адреса:
public class Address
{
public int Id { get; set; }
public string Name { get; set; }
public string Details { get; set; }
public virtual Area Area { get; set; }
}