在我的項目中,我試圖使用實體框架6與SQL Server和MySql。EF6與SQL Server和MYSQL,在數據庫中有不匹配的數據類型
現在我有一列名爲ISENABLED
數據庫,現在這列是SQL Server布爾和MYSQL Char(1)
,理想情況下應該在MYSQL位,但因爲這是傳統的數據庫,它使用char此列。
現在,無論何時我嘗試從數據庫中使用EF6獲取此表時,我都會成功獲得SQL Server的結果,因爲在代碼中,我有一個爲該數據庫映射的bool屬性,但對於Mysql,它會引發錯誤,表示字符串不能成爲轉換爲布爾。 Singh char在EF6中轉換爲字符串。
這裏是我的代碼:
屬性映射代碼數據庫列:
public bool IsEnabled { get; set; }
現在我也嘗試了MySQL是:
private string IsCharBasedEnabled { get; set; }
[NotMapped]
public bool IsEnabled
{
get { return IsCharBasedEnabled == "0"; }
set { IsCharBasedEnabled = value ? "1" : "0"; }
}
我映射IsCharBasedEnabled
到數據庫列,MySQL的Char
列映射爲字符串,然後轉換爲bool,如上所示。
但是這種解決方案不適用於SQL Server。
我可以擁有一些適用於具有相同屬性的數據庫的東西嗎?
我無法更改我的MySQL數據庫的架構。
我應該在這裏做什麼?