ORA-00902: неверный тип данных с EF CoreC#

Место общения программистов C#
Ответить
Anonymous
 ORA-00902: неверный тип данных с EF Core

Сообщение Anonymous »

Пожалуйста, помогите, я использую EF Core с Oracle (сначала код) и получаю эту ошибку после обновления базы данных dotnet ef, и я понятия не имею, какой недопустимый тип данных:
< pre class="lang-bash Prettyprint-override">

Код: Выделить всё

2024-09-27 16:11:34,098 INFO Microsoft.EntityFrameworkCore.Database.Command - Executed DbCommand (73ms) [Parameters=[], CommandType='Text', CommandTimeout='0']
BEGIN
EXECUTE IMMEDIATE 'CREATE TABLE
"RunnerStates" (
"Id" NUMBER(10) GENERATED BY DEFAULT ON NULL AS IDENTITY NOT NULL,
"Name" NVARCHAR2(450) NOT NULL,
"Description" NVARCHAR2(2000),
CONSTRAINT "PK_RunnerStates" PRIMARY KEY ("Id")
)';
END;
2024-09-27 16:11:34,121 ERROR Microsoft.EntityFrameworkCore.Database.Command - 2024-09-27 16:11:34.121034 ThreadID:1   (ERROR)   OracleRelationalCommand.ExecuteNonQuery() :  Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-00902: invalid datatype
ORA-06512: at line 2
https://docs.oracle.com/error-help/db/ora-00902/
at OracleInternal.ServiceObjects.OracleFailoverMgrImpl.OnError(OracleConnection connection, CallHistoryRecord chr, Object mi, Exception ex, Boolean bTopLevelCall, Boolean& bCanRecordNewCall)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteNonQuery()
at Oracle.EntityFrameworkCore.Storage.Internal.OracleRelationalCommandBuilderFactory.OracleRelationalCommandBuilder.OracleRelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
2024-09-27 16:11:34.121034 ThreadID:1   (ERROR)   OracleRelationalCommand.ExecuteNonQuery() :  Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-00902: invalid datatype
ORA-06512: at line 2
https://docs.oracle.com/error-help/db/ora-00902/
at OracleInternal.ServiceObjects.OracleFailoverMgrImpl.OnError(OracleConnection connection, CallHistoryRecord chr, Object mi, Exception ex, Boolean bTopLevelCall, Boolean& bCanRecordNewCall)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteNonQuery()
at Oracle.EntityFrameworkCore.Storage.Internal.OracleRelationalCommandBuilderFactory.OracleRelationalCommandBuilder.OracleRelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
Это сущность в C#:

Код: Выделить всё

public class RunnerState
{
public int Id { get; set; }

public required string Name { get; set; }

public string? Description { get; set; }
}
Это конфигурация объекта:

Код: Выделить всё

public class RunnerStateConfiguration : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
builder
.HasKey(s => s.Id);
builder
.HasIndex(s => s.Name)
.IsUnique(true);
builder
.HasData(
new RunnerState
{
Id = 1,
Name = "AVAILABLE",
Description = "The runner is available for receiving and executing assigned tasks.",
},
new RunnerState
{
Id = 2,
Name = "UNAVAILABLE",
Description = "The runner is unavailable for receiving and executing assigned tasks.",
});
}
}
Мне нужно добавить еще некоторые детали, но я действительно не знаю, что еще добавить. Пользователь/схема oracle пусты. Это первая попытка обновления базы данных после первоначальной миграции.
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/790 ... th-ef-core
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»