![](/img/trans.png)
[英]How to map a property to database table column explicitly in codefirst Entity framework
[英]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.