Как указать родителя для дочерней модели?

Есть одна модель:
public class User
    {
        [Key]
        public int Id { get; set; }
        public string Email { get; set; }
        public string  FirstName{ get; set; }
        public string LastName { get; set; }
        public string Password { get; set; }
        public int CreatedAt { get; set; }
        public ICollection<Video> Videos { get; set; }
    }

и другая:
public class Video
    {
        [Key]
        public int Id { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
        public string File { get; set; }
        public string Hash { get; set; }
        public int CreatedAt { get; set; }
        public int Views { get; set; }
    }

Связь один-много как вы понимаете. Так вот, при помощи codefirst'a это все заливается в БД.
И все нормально, в таблице Videos автоматически создается поле User_Id, но блин, как это поле заполнить?
То есть при добавлении видео как указать его автора?? Ну то есть колонка в таблице есть, но в модели этого поля нет, поэтому сделать так не получается:
VideosRep.Add(new Video()
                {
                    Title = videoTitle,
                    File = FileName,
                    Description = videoDescription,
                    Hash = HashString,
                    CreatedAt = MyHelpers.GetUtcTimeStamp(),
                    User_Id = /// ругается на отсутствие поля у модели оно и понятно
                }
            );


Добавил в модель видео поле
public User User { get; set; }

Но при добавлении видео:
VideosRep.Add(new Video()
{
Title = videoTitle,
File = FileName,
Description = videoDescription,
Hash = HashString,
CreatedAt = MyHelpers.GetUtcTimeStamp(),
User = UsersRep.Users.Where(c => c.Id == userId).First()
}
);

Создается новый пользователь в таблице, почему???
  • Вопрос задан
  • 113 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы