[英]Entity Framework Non-nullable column is mapped to a nullable entity property
[英]Entity Framework making double a nullable property
我有一個名為TotalVolume
的屬性,它是一個Double
。 在構建數據庫的代碼優先方法中,默認情況下,屬性TotalVolume
具有一個Not Null
值。 我也想讓屬性TotalVolume
接受Null
值。
我正在使用FluentAPI,所做的更改如下:
modelBuilder.Entity<Employee>()
.Property(p => p.TotalVolume)
.IsRequired(false);
我在Add-Migration
時遇到以下錯誤:
不能將實體類型“雇員”上的屬性“ TotalVolume”標記為可為空/可選,因為屬性的類型為“ double”,這不是可為空的類型。 任何屬性都可以標記為不可為空/必需,但是只有可為空類型且不屬於主鍵的屬性可以被標記為可為空/可選。
此后,我嘗試了以下方法,在“ Employee
模型”中進行了以下更改。
public double? TotalVolume{ get; set; }
但是,當我更新數據庫時, TotalVolume
的數據類型已更改為float
。 我希望數據類型仍然保持為double
。
SQL中的float
是一個64位值,與.Net中的double
相對應,因此它似乎按預期工作。
實體框架會映射這些類型,以便它們具有相同的含義,但不需要它們具有相同的名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.