arasındaki fark ben Çalışan arasındaki ilişkiyi ayarlarsanız aşağıdaki varlıklarıHasRequired ve HasOptional
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; }
}
varsa ve tablo yapısı tam olarak aynı oluşturursanız, iki seçenekten Üstü Akıcı 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);
}
aşağıdaki Adresi nedir Yani, iki seçenek arasındaki fark nedir. Seçenek 1 ile gidersem, Çalışan varlığının her zaman adres varlığına sahip olması gerektiğini düşündüm, ama değildi. Çalışan değeri, adres değeri olmayan bir şekilde kurtarabilirdim.
Şimdiden teşekkürler.
'HasRequired' sadece Adres gelen Çalışan için çalışır mı? Dolayısıyla, 'HasRequired' seçeneğini belirlerseniz, bağlantılı bir çalışan olmadan bir adresi kaydedemezsiniz. Ancak, çalışan tablosunun adres tablosuna başvuran yabancı bir anahtarı bulunmadığından, bir çalışanın adresi olup olmadığına bakılmaksızın her zaman kaydedebilirsiniz. – ipr101
İki varlık arasında bire bir ilişki kurmak istedim. Bahsettiğiniz gibi, bağlantılı çalışan olmadan adres kaydedemiyorum. Bu iki seçenekte oldu. Eğer öyleyse, yukarıdaki iki seçenek farklı değil mi? Sorguladığım gibi, ilk adreste bağlantı adresi olmayan çalışanın kurtarılmasının mümkün olmadığına inandım, fakat yanılmışım. – Ray