C# Entity Framework Foreign Key

222
14 октября 2018, 06:00

Существует 3 таблицы :

public class Films
{
    [Key]
    public int ID{ get; set }
    public string Title_Of_Film{ get ; set; }
}
public class Authors
{
    [Key]
    public int AuthorsId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}
public class Film_actors
{
    [Key]
    public int Flim_ActorsId { get; set; }
    [ForeignKey("Films")]
    public int FilmInfoRefId { get; set; }
    public Films FilmInfo { get; set; }
    [ForeignKey("Authors")]
    public int AuthorsRefId { get; set; }
    public Authors Authors { get; set; }
}

Последняя таблица - имеет два внешних ключа, которые указывают на внешние ключи 2 первые таблицы.
Вопрос, когда я буду я буду создавать экземляр класа Film_Actors поля FilmInfo и Authors автоматически заполнятся имея значения внешнего ключа? Или мне нужно всё ручками делать?

Answer 1

Может быть вы хотели такую структуру:

Есть авторы фильмов, автор может быть автором множества разных фильмов:

public class Author
{
    public Author()
    {
        Films = new List<Film>();
    }
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public virtual ICollection<Film> Films { get; set; }
}    

Есть актёры. Каждый актёр может сниматься в множестве разных фильмов:

public class Actor
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public virtual ICollection<Film> Films { get; set; }
}

И есть фильмы. В одном фильме может быть несколько авторов фильма и может быть множество актёров:

public class Film
{
    public Film()
    {
        Authors = new List<Author>();
        Actors = new List<Actor>();
    }
    public int Id{ get; set }
    public string Film{ get ; set; }
    public virtual ICollection<Author> Authors { get; set; }
    public virtual ICollection<Actor> Actors { get; set; }
}

PS Многие-ко-многим (тынц). Пример добавления записей есть по ссылке. Да, придётся заполнять руками.

READ ALSO
Сделать разгоняющийся объект на C# Unity

Сделать разгоняющийся объект на C# Unity

Нужно сделать так чтобы ракета разгонялась потихоньку ну в идеале чтобы она реалестично разгоняласьВот пример моего скрипта

193
Null в Dictionary&lt;T, V&gt; [закрыт]

Null в Dictionary<T, V> [закрыт]

Записываю значение в словарь, и даже при моментальной проверке там оказывается Null:

179
XmlException: expected &#39;;&#39; (3B) but found &#39;/&#39; (2F) в новом проекте

XmlException: expected ';' (3B) but found '/' (2F) в новом проекте

В новом проекте Юнити выпадает данная ошибка как только пытаюсь добавить скриптVS2017 юнити тоже не видит, не знаю или это как-то связано

200
Как в C# сделать выборочное редактирование тхт UTF8 файла без полного считывания?

Как в C# сделать выборочное редактирование тхт UTF8 файла без полного считывания?

Нужно в ТХТ файле заменить с 15 по 20 символы на другиеКак это сделать без считывания всего файла

185