Задать вопрос
@1ncomparable

Entity Framework Code First, проблема с созданием БД, что делать?

У меня есть классы:
public class Topic
    {
        public int Id { get; set; }

        public string Name { get; set; }

        public string Description { get; set; }

        public DateTime Time { get; set; }

        public List<Lesson> Lessons { get; set; }

        public List<string> Tags { get; set; }

        public Topic()
        {
            Lessons = new List<Lesson>();

            Tags = new List<string>();
        }
    }
public class Lesson
    {
        public int Id { get; set; }

        public int TopicId { get; set; }

        public Topic Topic { get; set; }

        public string Name { get; set; }

        public List<Paragraph> Paragraphs { get; set; }

        public List<LTask> Tasks { get; set; }

        public Lesson()
        {
            Paragraphs = new List<Paragraph>();

            Tasks = new List<LTask>();
        }
    }
public class LTask
    {
        public int Id { get; set; }

        public int LessonId { get; set; }

        public Lesson Lesson { get; set; }

        public string HeadLine { get; set; }

        public string Question { get; set; }

        public string Answer { get; set; }
    }
public class Paragraph
    {
        public int Id { get; set; }

        public int LessonId { get; set; }

        public Lesson Lesson { get; set; }

        public string HeadLine { get; set; }

        public string Text { get; set; }
    }

А также контекст:
public class CourseContext : DbContext
    {
        public CourseContext()
            : base("name=CourseContext")
        {
        }

        public DbSet<Topic> Topics { get; set; }

        public DbSet<string> Tags { get; set; }

        public DbSet<Lesson> Lessons { get; set; }

        public DbSet<Paragraph> Paragraphs { get; set; }

        public DbSet<LTask> Tasks { get; set; }
    }

Но при запуске приложения вылетает ошибка: "Тип "System.String" не был сопоставлен. Убедитесь, что тип не был явно исключен с помощью метода Ignore или заметки к данным NotMappedAttribute. Убедитесь, что тип определен как класс, не является типом-примитивом или универсальным типом, а также не наследуется от объекта EntityObject."
Можете помочь с решением данной проблемы? Я пытался сам решить, но у меня не вышло.
  • Вопрос задан
  • 303 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
on1k
@on1k
Сделай Tags как класс с полями Id, Tag и его указывай в связях
Ответ написан
Комментировать
@Duskone39
Просто в DbSet нельзя использовать стандартные типы данных, только классы созданные Вами
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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