У меня есть следующие объекты
public class SchoolContext : DbContext
{
public DbSet<Address> Addresses { get; set; }
public DbSet<Employee> Employees { get; set; }
}
public class Address
{
public int Id { get; set; }
public string Street { get; set; }
public virtual Employee Employee { get; set; }
}
public class Employee
{
public int Id { get; set; }
public string Name { get; set; }
public virtual Address Address { get; set; }
}
Если я устанавливаю отношения между сотрудником и адрес со следующим свободным API
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// Option #1
modelBuilder.Entity<Employee>()
.HasRequired(s => s.Address)
.WithRequiredPrincipal(a => a.Employee);
// Option #2
modelBuilder.Entity<Employee>()
.HasOptional(s => s.Address)
.WithRequired(a => a.Employee);
}
над двумя опциями, создавая структуру таблицы точно так же, если так, то, что отличается между двумя вариантами. Если я поеду с вариантом № 1, я думал, что субъект сотрудника всегда должен иметь организацию адреса, но это не было. Я смог сохранить сущность сотрудника без значения адреса.
заранее спасибо.