我創建了一個模型BaseModel
來繼承這兩個屬性date_created
以及date_modified
資料庫中的所有模型,以便在創建記錄和修改記錄時保留記錄。
我?
為這些屬性添加了運算子以接受空值,如下所示:
基本型號:
namespace API.Models
{
public class BaseModel
{
public BaseModel()
{
created_date = DateTime.Now;
}
public DateTime? created_date { get; set; }
public DateTime? modified_date { get; set; }
}
}
庫存表:
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.AspNetCore.Mvc;
namespace API.Models
{
public class Inventory : BaseModel
{
[Key]
public int inventory_id { get; set; }
[Required(ErrorMessage = "El campo {0} es obligatorio"), StringLength(10, ErrorMessage = "{0} la longitud debe estar entre {2} y {1}.", MinimumLength = 5)]
public string name { get; set; }
public string? location { get; set; }
public bool? status { get; set; }
public List<Asset> assets { get; set; }
}
}
資產表:
using System.ComponentModel.DataAnnotations;
namespace API.Models
{
public class Asset : BaseModel
{
[Key]
public int asset_id { get; set; }
public int? code { get; set; }
[Required(ErrorMessage = "El campo {0} es obligatorio"), StringLength(10, ErrorMessage = "{0} la longitud debe estar entre {2} y {1}.", MinimumLength = 5)]
public string? name { get; set; }
public int iventory_id { get; set; }
public Inventory inventory { get; set; }
}
}
然后我添加遷移
dotnet ef migrations add v15
并應用遷移
dotnet ef database update
我收到以下錯誤:
無法將值 NULL 插入列“created_date”、表“WebApp.dbo.Iventories”;列不允許空值。更新失敗。該陳述句已終止
我不明白為什么我會收到這個錯誤。
當我添加?
運算子時,資料庫應該不接受空值嗎?
uj5u.com熱心網友回復:
請使用這些
public class BaseModel
{
public BaseModel()
{
created_date = DateTime.Now;
}
[DataType(DataType.DateTime)]
public DateTime? created_date { get; set; }
[DataType(DataType.DateTime)]
public DateTime? modified_date { get; set; }
}
或者
public class BaseModel
{
public BaseModel()
{
created_date = DateTime.Now;
}
public Nullable<DateTime> created_date { get; set; }
public Nullable<DateTime> modified_date { get; set; }
}
我在 git 中上傳示例代碼,只需更改 ConnectionString
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/469138.html
標籤:数据库 模型 实体框架核心 ef-code-first asp.net-web-api2
下一篇:從資料庫初始化超陣列引數代理屬性