【发布时间】:2021-05-05 05:44:45
【问题描述】:
我正在尝试使用 Entity Framework Core 5 dbcontext scaffold 从我的 Oracle 数据库 10g 创建模型:
dotnet ef dbcontext scaffold "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=mssrv.infofer.local)(PORT=1533)))(CONNECT_DATA=(SERVICE_NAME=medusa)));User ID=TRAFICALERT_EFC;Password=traficalert" Oracle.EntityFrameworkCore -o Entities -f
但是,我收到以下错误:
2021-05-05 08:21:12.783360 ThreadID:1 (ERROR) OracleDatabaseModelFactory.Cre
ate() : Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-00904
: "DEFAULT_COLLATION": invalid identifier
at OracleInternal.ServiceObjects.OracleConnectionImpl.VerifyExecution(Int32&
cursorId, Boolean bThrowArrayBindRelatedErrors, SqlStatementType sqlStatementTyp
e, Int32 arrayBindCount, OracleException& exceptionForArrayBindDML, Boolean& has
MoreRowsInDB, Boolean bFirstIterationDone)
at OracleInternal.ServiceObjects.OracleCommandImpl.VerifyExecution(OracleConn
ectionImpl connectionImpl, Int32& cursorId, Boolean bThrowArrayBindRelatedErrors
, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean b
FirstIterationDone)
at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteReader(String comma
ndText, OracleParameterCollection paramColl, CommandType commandType, OracleConn
ectionImpl connectionImpl, OracleDataReaderImpl& rdrImpl, Int32 longFetchSize, I
nt64 clientInitialLOBFS, OracleDependencyImpl orclDependencyImpl, Int64[] scnFor
Execution, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionP
aramColl, Boolean& bBindParamPresent, Int64& internalInitialLOBFS, Int64 interna
lInitialJSONFS, OracleException& exceptionForArrayBindDML, OracleConnection conn
ection, OracleLogicalTransaction& oracleLogicalTransaction, IEnumerable`1 adrian
ParsedStmt, Boolean isDescribeOnly, Boolean isFromEF)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader(Boolean requer
y, Boolean fillRequest, CommandBehavior behavior)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader()
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteScalar()
at Oracle.EntityFrameworkCore.Scaffolding.Internal.OracleDatabaseModelFactory
.<Create>g__GetCollation|9_0(DbConnection connection, String schema)
at Oracle.EntityFrameworkCore.Scaffolding.Internal.OracleDatabaseModelFactory
.Create(DbConnection connection, IEnumerable`1 tables, IEnumerable`1 schemas)
当我尝试从数据库创建模型时,为什么会出现此错误?
谢谢。
【问题讨论】:
标签: c# oracle .net-core entity-framework-core