この行を変更する:
Property(t => t.Id).HasColumnName("Id");
...これに:
Property(t => t.Id).HasColumnName("ID"); // Upper case ID.
デフォルトでは、Oracleの列名は大文字です。また、EFが二重引用符で囲まれた名前を生成する場合は、大文字と小文字を正しく区別する必要があります。
本当に"Id"
を使い続けたい場合 、次に、EFがId
を二重引用符で囲まないようにする方法を見つける必要があります。 名前のチェックで大文字と小文字が区別されないようにします(その方法がわかりません)。
または、Oracleの列の名前を正確にId
に変更する必要があります 。
alter table tbluser rename column id to "Id";
しかし、実際には、文字列を"ID"
に変更するだけでよいと思います。