Я пытаюсь построить 1-1 отношения - арендатор имеет URL-адрес, и наоборот:один на один в EF только производить один внешний ключ
Модели
public class Tenant {
[Key]
[Required]
public int TenantId { get; set; }
public string Name { get; set; }
public virtual Url Url { get; set; }
public int UrlId { get; set; }
}
public class Url {
[Key]
[Required]
public int UrlId { get; set; }
public string Name { get; set; }
public virtual Tenant Tenant { get; set; }
public int TenantId { get; set; }
}
Configs
public class UrlConfiguration : EntityTypeConfiguration<Url> {
public UrlConfiguration() {
HasKey(s => s.UrlId);
}
}
public class TenantConfiguration : EntityTypeConfiguration<Tenant>
{
public TenantConfiguration() {
HasRequired(s => s.Url).WithRequiredPrincipal(s => s.Tenant);
}
}
Результат:
Я ожидаю, что на обеих моделях будет внешний ключ ... почему это не так?
Это не совсем так, в SQL Server, например, вы можете [отказаться от ограничений] (http://www.w3schools.com/sql/sql_foreignkey.asp), чтобы вы могли эффективно иметь 1-1 отношения в обоих концах. –
Отбросить все ограничения, конечно, не приведет к одному ограничению, Бруно ... – Olaf
Я имел в виду, что они временно выходят ... Просто ради того, чтобы сначала добавить один из этих кортежей. –