FirebirdSQL / NETProvider

Firebird ADO.NET Data Provider
https://www.firebirdsql.org/en/net-provider/
Other
152 stars 62 forks source link

EntityFrameworkCore Scaffolding: Could not find type mapping for column 'TEST_TABLE.VAL' with data type 'NUMERIC(16,2)' #1141

Open Edward72 opened 7 months ago

Edward72 commented 7 months ago

I try to scaffold test_db: Scaffold-DbContext "Server=x.x.x.x;Database=test_db;user id=SYSDBA;password=masterkey;Dialect=3" FirebirdSql.EntityFrameworkCore.Firebird -Force -Verbose -OutputDir Models I get the following error: Using project 'FBNetCoreApp'. Using startup project 'FBNetCoreApp'. Build started... Build succeeded. C:\Program Files\dotnet\dotnet.exe exec --depsfile D:\SHARP.PRG\FBNetCoreApp\bin\Debug\net6.0-windows\FBNetCoreApp.deps.json --additionalprobingpath C:\Users\user123\.nuget\packages --additionalprobingpath "C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages" --runtimeconfig D:\SHARP.PRG\FBNetCoreApp\bin\Debug\net6.0-windows\FBNetCoreApp.runtimeconfig.json C:\Users\user123\.nuget\packages\microsoft.entityframeworkcore.tools\7.0.13\tools\netcoreapp2.0\any\ef.dll dbcontext scaffold "Server=x.x.x.x;Database=test_db;user id=SYSDBA;password=masterkey;Dialect=3" FirebirdSql.EntityFrameworkCore.Firebird --json --output-dir Models --force --verbose --no-color --prefix-output --assembly D:\SHARP.PRG\FBNetCoreApp\bin\Debug\net6.0-windows\FBNetCoreApp.dll --project D:\SHARP.PRG\FBNetCoreApp\FBNetCoreApp.csproj --startup-assembly D:\SHARP.PRG\FBNetCoreApp\bin\Debug\net6.0-windows\FBNetCoreApp.dll --startup-project D:\SHARP.PRG\FBNetCoreApp\FBNetCoreApp.csproj --project-dir D:\SHARP.PRG\FBNetCoreApp\ --language C# --configuration Debug --working-dir D:\SHARP.PRG\FBNetCoreApp --root-namespace FBNetCoreApp --nullable Using assembly 'FBNetCoreApp'. Using startup assembly 'FBNetCoreApp'. Using application base 'D:\SHARP.PRG\FBNetCoreApp\bin\Debug\net6.0-windows'. Using working directory 'D:\SHARP.PRG\FBNetCoreApp'. Using root namespace 'FBNetCoreApp'. Using project directory 'D:\SHARP.PRG\FBNetCoreApp\'. Remaining arguments: . Finding design-time services referenced by assembly 'FBNetCoreApp'... Finding design-time services referenced by assembly 'FBNetCoreApp'... No referenced design-time services were found. Finding design-time services for provider 'FirebirdSql.EntityFrameworkCore.Firebird'... Using design-time services from provider 'FirebirdSql.EntityFrameworkCore.Firebird'. Finding IDesignTimeServices implementations in assembly 'FBNetCoreApp'... No design-time services were found. To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see http://go.microsoft.com/fwlink/?LinkId=723263. Could not find type mapping for column 'TEST_TABLE.VAL' with data type 'NUMERIC(16,2)'. Skipping column.

As a result, class TestTable in TestTable.cs has no field VAL. What could be the problem?

SQL Script: SET SQL DIALECT 3; SET NAMES WIN1251; SET CLIENTLIB 'C:\Program Files (x86)\HK-Software\IBExpert\fbclient30.dll'; CREATE DATABASE 'x.x.x.x:test_db' USER 'SYSDBA' PASSWORD 'masterkey' PAGE_SIZE 8192 DEFAULT CHARACTER SET WIN1251 COLLATION WIN1251; CREATE TABLE TEST_TABLE ( ID INTEGER GENERATED BY DEFAULT AS IDENTITY, NAME VARCHAR(100) COLLATE PXW_CYRL, DATETIMEVAL TIMESTAMP DEFAULT 'Now', VAL NUMERIC(16,2), STATUS SMALLINT DEFAULT 0 NOT NULL, STATUS_TEXT VARCHAR(500) COLLATE PXW_CYRL, PERIOD DATE NOT NULL );

Server Version: WI-V3.0.10.33601 Firebird 3.0

Microsoft Visual Studio Enterprise 2022 (64-bit) Version 17.4.0 EntityFramework.Firebird 10.0.0 FirebirdSql.Data.FirebirdClient 10.0.0 FirebirdSql.EntityFrameworkCore.Firebird 10.0.0