Сначала код EF6 с базой данных PostgreSQL выдает исключение. (PostgresException: 42P01: отношение "public.Authors" не существует) - PullRequest
0 голосов
/ 01 июля 2019

Я использую базу данных PostgreSQL с первым кодом EF6, но получаю следующее исключение.

PostgresException: 42P01: relation "public.Authors" does not exist

Вот модель и класс контекста.

public class BookStore : DbContext
{
    public BookStore() : base(nameOrConnectionString: "Default")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.HasDefaultSchema("public");
    }

    public DbSet<Author> Authors { get; set; }
    public DbSet<Book> Books { get; set; }
}

public class Author
{
    public int AuthorId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public DateTime BirthDate { get; set; }
    public List<Book> Books { get; set; }
}

public class Book
{
    public int BookId { get; set; }
    public string Title { get; set; }
    public Author Author { get; set; }
}

У меня естьуказал схему, которая в моем случае общедоступна, но при вставке тех же данных я получаю исключение.

using (var context = new BookStore())
{
    var authors = new List<Author>
    {
        new Author
        {
            FirstName ="Carson",
            LastName ="Alexander",
            BirthDate = DateTime.Parse("1985-09-01"),
            Books = new List<Book>()
            {
                new Book { Title = "Introduction to Machine Learning"},
                new Book { Title = "Advanced Topics in Machine Learning"},
                new Book { Title = "Introduction to Computing"}
            }
        }
    };

    context.Authors.AddRange(authors);
    context.SaveChanges();
}

Сгенерированный SQL выглядит следующим образом.

Opened connection at 7/1/2019 2:39:45 PM +05:00

Started transaction at 7/1/2019 2:39:45 PM +05:00

INSERT INTO "public"."Authors"("FirstName","LastName","BirthDate") VALUES (@p_0,@p_1,@p_2) RETURNING "AuthorId"


-- p_0: 'Carson' (Type = Object, IsNullable = false)

-- p_1: 'Alexander' (Type = Object, IsNullable = false)

-- p_2: '9/1/1985 12:00:00 AM' (Type = DateTime, IsNullable = false)

-- Executing at 7/1/2019 2:39:45 PM +05:00

-- Failed in 7 ms with error: 42P01: relation "public.Authors" does not exist

Closed connection at 7/1/2019 2:39:45 PM +05:00

Исключение составляетВыдается при вызове SaveChanges.Как справиться с этим и что не так с моим кодом?Любые предложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...