簡體   English   中英

asp.net core 6 EF腳手架與Oracle數據庫

[英]asp.net core 6 EF scaffolding with Oracle database

我正在使用 oracle 19 作為后端創建 Asp.net core 6 web api。 我正在使用數據庫優先方法並從數據庫表創建模型對象。 我使用了以下語法,

 scaffold-dbcontext "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=TestDB.Test.com)(PORT=1717))(CONNECT_DATA=(SERVICE_NAME=TestDB)));User Id=usename;Password=password;Persist Security Info=True;Connection Lifetime=100000;" Oracle.EntityFrameworkCore -o ModelFolder -f  

注意:我刪除了安全數據並在上面的代碼中提供了虛擬數據。 我能夠從我的后端生成模型。 但是數據庫類型有一些問題。 我正在嘗試調用 EF 查詢來獲取數據並面臨轉換問題。 表列之一是數據類型是 Number(3) 並且模型創建為 Byte?。 當它嘗試綁定實體結果時,它給我指定的強制轉換無效。 它期待詮釋。 我不確定如何解決這個問題。 我不應該將自動生成的模型屬性修改為 int。 不確定 asp.net core 與 oracle 是否存在這個持續存在的問題。 請求解決此錯誤的任何建議。

我正在嘗試調用 EF 查詢來獲取數據並面臨轉換問題。 表列之一是數據類型是 Number(3) 並且模型創建為 Byte?。 當它嘗試綁定實體結果時,它給我"specified cast is not valid

如果您可以添加數據庫實體架構定義和asp.net core POCO Class ,那就更好了。 因此,基於錯誤,您應該考慮以下data types ,這些數據類型通常在Oracle中被視為與Asp.net core實體腳手架不一致,同時自動生成。

請檢查以下數據類型:

byte? 在 asp.net core 中應該很long

short? 應該是int

bool? 如果它包含01之類的數字,則應將其更改為int而不是oracle number應處理decimal

注意:當我們遇到"specified cast is not valid ”時,它的意思是, POCO Class and data entity model error mostly related to definition of asp.net core POCO class which doesn't matched with the database entity defination 您可以按照此官方圖表進行參考:

在此處輸入圖像描述

在此處輸入圖像描述

可以在official document here中找到更多詳細信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM