Я создал простой класс для Entity Framework для запроса таблицы в Oracle.Вход в систему работает, и Oracle, похоже, находит нужную таблицу.
Но Entity Framework отправляет недопустимый SQL в базу данных.Я думаю, что это синтаксис T-SQL, но не синтаксис Oracle.
Из файла трассировки
2019-09-23 16:01:08.225742 TID:1 (PUB) (ENT) OracleCommandImpl.CheckForReturningClause() Cmd Text (SQL): HasReturnClauseSearchKey : SELECT
"c"."Id" AS "Id",
"c"."Name" AS "Name"
FROM "DV"."TESTTABLE" "c"
WHERE (ROWNUM <= (1) )
, и я совершенно уверен, что Oracle не знает здесь "AS".
Результатом является эта ошибка.
не удалось в течение 17 мс с ошибкой: ORA-00904: "c". "Имя": неверный идентификатор
Что такоеЯ делаю неправильно?
[EDIT]
Мой DbContext:
namespace Database2
{
public class TestContext : DbContext
{
public DbSet<TestTable> TestTable { get; set; }
public TestContext() : base("FOOTEST")
{
Database.SetInitializer<TestContext>(null);
}
}
}
Мой App.config
<connectionStrings>
<add name="FOOTEST" providerName="Oracle.ManagedDataAccess.Client"
connectionString="User Id=XX;Password=YYYY;Data Source=FOOTEST.WORLD"/>
</connectionStrings>
Моя таблица
Create Table DV.TESTTABLE
(
ID NUMBER(22, 0) NOT NULL,
NAME VARCHAR2(64) NOT NULL,
CONSTRAINT id_pk PRIMARY KEY (ID)
)
Мой стол класс
namespace Database2
{
[Table("DV.TESTTABLE")]
public class TestTable
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
}
}