Dot-Net
Entity Framework Code First 中的 SQL“時間”類型
我正在嘗試使用 Entity Framework Code First 在表中創建一個“時間(7)”列。這是我的實體:
public class ShiftDetail { public long Id { get; set; } [Required] public int DayOfWeek { get; set; } [Required] [Column(TypeName="time")] public DateTime StartTime { get; set; } [Required] [Column(TypeName = "time")] public DateTime EndTime { get; set; } public long ShiftId { get; set; } public virtual Shift Shift { get; set; } }如您所見,我正在嘗試將 StartTime 和 EndTime 列的數據庫類型設置為“時間”,但出現此錯誤:
(112,12):錯誤 2019:指定的成員映射無效。‘ShiftDetail’ 類型中成員 ‘StartTime’ 的類型 ‘Edm.DateTime[Nullable=False,DefaultValue=,Precision=]’ 與 ‘SqlServer.time[Nullable=False,DefaultValue=,Precision=7]’ 不兼容’CodeFirstDatabaseSchema.ShiftDetail’ 類型中的成員 ‘StartTime’。
我也嘗試過 TypeName=“time(7)” 但我得到了另一個錯誤:
(104,6):錯誤 0040:類型 time(7) 沒有使用命名空間或別名進行限定。只有原始類型可以在沒有限定的情況下使用。
如何首先使用程式碼創建時間列?(最好沒有流暢的 API)
提前致謝。
如果要
Time在數據庫中使用類型,則必須TimeSpan在應用程序中使用 24 小時周期。DateTime不是時間的表示。