2017-06-14 1 views
0

Existe-t-il un moyen de créer une relation un à un ou un à un dans Entity Framework? J'ai vu beaucoup d'exemples montrant une relation de 0..1 à 0 .. *, mais je veux être sûr que dans l'exemple donné, Foo ne peut exister que s'il a au moins une barre.EF 0..1 à 1 .. * relation

class Foo 
{ 
    List<Bar> Bars { get; set; } // Must at least have one Bar 
} 

class Bar 
{ 
    public Foo Foo { get; set; } // Foo is nullable 
} 

Je vois que ce n'est pas facilement atteint par SQL car je veux une sorte de NOT NULL à la table Foo au lieu de la table bar, mais peut Entity Framework gérer cette situation?

+0

bases de données relationnelles ne peuvent pas appliquer cette relation à l'aide des contraintes standard. Donc EF ne peut pas faire ça aussi (pas supporté). –

Répondre

0

me corrigera si je me trompe, mais je pense que vous voulez quelque chose comme ceci:

modelBuilder.Entity<Foo>() 
    .HasMany(t => t.Bars) 
    .WithOptionalPrincipal(t => t.Foo);