[英]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?
如果它包含0
或1
之類的數字,則應將其更改為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.