Ändern Sie diese Zeile:
Property(t => t.Id).HasColumnName("Id");
... dazu:
Property(t => t.Id).HasColumnName("ID"); // Upper case ID.
Standardmäßig werden die Spaltennamen von Oracle in Großbuchstaben geschrieben. Und wenn EF die in doppelte Anführungszeichen eingeschlossenen Namen generiert, müssen Sie sicherstellen, dass die Groß- und Kleinschreibung richtig ist.
Wenn Sie wirklich weiterhin "Id"
verwenden möchten , dann müssen Sie entweder einen Weg finden, damit EF keine doppelten Anführungszeichen um Id
setzt damit die Namensprüfung nicht zwischen Groß- und Kleinschreibung unterscheidet (ich weiß nicht, wie das geht).
Oder Sie müssen die Spalte in Oracle so umbenennen, dass sie genau Id
ist .
alter table tbluser rename column id to "Id";
Aber wirklich, ich denke, Sie sollten Ihre Zeichenfolge einfach in "ID"
ändern und fertig.