2015-11-06 6 views
0

Actuellement, je développe un projet C# en utilisant Entity Framework avec l'approche code-first. Je suis coincé avec l'utilisation de données statiques (de référence).Implémentation des données statiques Cadre (table de conversion) Entity Framework

Soit nous supposons qu'il ya les entités « film » et « genre de film » comme:

public class Movie 
{ 
    [Key] 
    public int ID; 

    public String Name; 

    public DateTime Year; 

    public String GenreCode; 

    [ForeignKey("GenreCode")] 
    public virtual Genre Genre { get; set; } 
} 


public class Genre 
{ 
    [Key] 
    public String Code; 

    //description of the code 
    public String Desc; 

    //Should I put this??? 
    public virtual ICollection<Movie> Movies { get; set; } 
} 

Un film peut avoir un genre, mais un genre peut appartenir à plusieurs genres. Dans ce cas dois-je mettre "public ICollection Movies {get; set;}" dans la classe Genre? Je crois que je ne devrais pas mettre cela puisque le genre est une donnée statique.Cependant, je ne suis pas sûr. Aussi Je ne veux pas utiliser enum pour le genre dans le code puisque dans le futur de nouveaux genres peuvent être définis dans la base de données.

Quelle est la meilleure façon de gérer ce type de relation en utilisant le framework d'entité?

Merci.

Cordialement,

Répondre

0

Non, vous ne devez pas y mettre public virtual ICollection Movies { get; set; }, si vous n'avez pas besoin de faire quelque chose de semblable à ce qui suit:

Genre genre = ....; 
var movies = genre.Movies.ToList(); 

Le one-to-many entre Genre et Film sera créé peu importe que vous ayez une collection Movies dans Genre ou non.

+0

Merci beaucoup pour la réponse rapide @ycsun! – tempx