Ty zmieniasz tę linię:
Property(t => t.Id).HasColumnName("Id");
...do tego:
Property(t => t.Id).HasColumnName("ID"); // Upper case ID.
Domyślnie nazwy kolumn Oracle są pisane wielkimi literami. A kiedy EF generuje nazwy w podwójnych cudzysłowach, musisz się upewnić, że wielkość liter jest poprawna.
Jeśli naprawdę chcesz nadal używać "Id"
, musisz albo znaleźć sposób, aby EF nie umieszczał podwójnych cudzysłowów wokół Id
aby podczas sprawdzania nazwy nie była rozróżniana wielkość liter (nie wiem jak to zrobić).
Lub musisz zmienić nazwę kolumny w Oracle na dokładnie Id
.
alter table tbluser rename column id to "Id";
Ale tak naprawdę myślę, że powinieneś po prostu zmienić swój ciąg na "ID"
i skończ z tym.