Почему выдает null ? Entity Framework

У меня есть несколько сущностей, есть пост, его наследует VideoPost, у этого класса есть List с мелкими частями из которого будет состоять сам пост.

    public class Post : BaseId
    {
        public virtual User User { get; set; }
        public int UserId { get; set; }
        public virtual List<Rating> Rating { get; set; }
        public string Title { get; set; }
        public virtual List<Comment> Comments { get; set; }

    }
    public class VideoPost : Post
    {
        public virtual List<VideoPostPart> VideoPostParts { get; set; }
    }

    public class PostPart : BaseId
    {
        public virtual Post Post { get; set; }
        public int PostId { get; set; }
        public string Title { get; set; }
    }
    public class VideoPostPart  : PostPart
    {
        public string VideoLink { get; set; }
       
    }

Проблема заключается в том, что в меине выдает null при попытках получить эти самые частички поста

            db = new DataBaseContext();

            VideoPost post = new VideoPost();
            var user = new User();
            post.User = user;
            VideoPostPart part = new VideoPostPart();
            part.Post = post;
            part.VideoLink = "videolink";
            db.VideoPostParts.Add(part);
            db.Posts.Add(post);
            db.SaveChanges();
            var x = db.Posts.FirstOrDefault();
            var y = ((VideoPost)x).VideoPostParts; // y == null

Как мне сохранить данное наследование и сделать так, чтобы в сущности VideoPostParts Не создавался еще один внешний ключ в виде VideoPostId, Мне нужно чтобы внешний ключ был PostId, пробовал добавлять навигационное свойство в VideoPostPart с типом VideoPost и к нему добавлять аннотацию ForeignKey("PostId") Но так вылетают ексепшины и ничего не работает


Ответы (0 шт):