簡體   English   中英

實體框架使雙精度為可空屬性

[英]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.

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