В настоящее время я разрабатываю проект С# с использованием Entity Framework с подходом «сначала код». Я застрял в использовании статических (справочных) данных.
Предположим, что существуют сущности «кино» и «жанр кино»:
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; }
}
У фильма может быть один жанр, но жанр может принадлежать к нескольким жанрам. В этом случае я должен поместить «общедоступные виртуальные фильмы ICollection {get; set;}» в классе «Жанр»? Я считаю, что не должен указывать это, так как Жанр - это статические данные. Однако я не уверен. Также я не хочу использовать enum для жанра в коде, так как в будущем новые жанры могут быть определены в базе данных.
Каков наилучший способ справиться с такими отношениями с помощью структуры сущностей?
Спасибо.
С уважением,