簡體   English   中英

如何處理可能為int或long的Entity Framework CodeFirst列

[英]How to handle an Entity Framework CodeFirst Column that could be an int OR a long

我們已經為由第三方應用程序創建和管理的許多表編寫了一個Entity Framework CodeFirst映射。 他們最近將這些表中的許多列從SQL數據類型INT升級到BIGINT。

我能想到的唯一方法是擁有兩個單獨的數據庫模型,一個用於舊版本,一個用於新版本,但是我想知道是否有一種方法可以將.net中的字段視為長字段,然后,如果嘗試讀取舊式數據庫格式或從舊式數據庫格式讀取數據,它會自動將其強制轉換為int?

謝謝。

編程中的大多數問題都可以通過另一層抽象來解決,這也不例外。

如果您在數據庫中具有CREATE VIEW權限,最簡單的解決方案是在視圖后面提取表,在所有情況下都將列轉換為BIGINT 應用程序只需要了解這種視圖,您的代碼優先模型就可以輕松地成為long 您當然仍然可以使用該視圖執行所有CRUD操作-前提是您當然不會溢出小尺寸字段。

暫無
暫無

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

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