[Entity Framework] PostgresException: 42P01: relation “dbo.HogeTable” does not exist

Pocket

Entity Framework で開発していたら「PostgresException: 42P01: relation “dbo.HogeTable” does not exist」というエラーがでたので、対処方法をメモしておく。

(1) エラー内容

System.Data.Entity.Infrastructure.DbUpdateException: ‘エントリを更新中にエラーが発生しました。詳細については、内部例外を参照してください。’

1. UpdateException: エントリを更新中にエラーが発生しました。詳細については、内部例外を参照してください。
2. PostgresException: 42P01: relation “dbo.HogeTable” does not exist

(2) 原因

テーブルが存在しない。または、異なるスキーマ名でテーブルを作成した。

(3) 対策

デフォルトのスキーマ名「dbo」から「public」に変更する。
以下の2つがある。

(3-1) Entity の TableAttribute にスキーマ名を設定

(3-2) DbContext の関数を継承して定義

以上

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です