2013-01-12 21 views
10

Akıcı API'de bire çok ilişki sözdizimi bulamıyorum. IAkıcı API - bire bir çok

şu var sınıfları

Id 
UserId 
Date 

UserHistory

Id 
Name 

Kullanıcı

aşağıda bir örnek olarak

İki tablo bilgisi

Aşağıdakileri denedim ama aslında doğru olup olmadığından emin değilim.

modelBuilder.Entity<User>() 
     .HasRequired(w => w.Histories) 
     .WithMany(); 

modelBuilder.Entity<User>() 
     .HasMany(f => f.Histories) 
     .WithOptional() 
     .HasForeignKey(f => f.UserId); 

Bire çok ilişki için doğru sözdizimi nedir?

Teknik olarak, yeni bir tablo ekleyerek bir çok kişiye dağıtabiliyordum ancak başka bir tablo eklemek istemedim. senin modelde

cevap

24

bir User varlık bir User gerekli olan birçokHistories her geçmişe sahiptir ve ilişki bir UserId denilen anahtar yabancı sahiptir:

modelBuilder.Entity<User>() 
    .HasMany(u => u.Histories) 
    .WithRequired() 
    .HasForeignKey(h => h.UserId); 

(ilişki yabancı anahtar özelliği UserId nullab olmadığı için gerekli (isteğe bağlı değil) le.)

+1

UserHistory UserId geçersizse, o zaman WithOptional()? – fes

+1

@fes: Evet, doğru. – Slauma

İlgili konular