如何在 Ms SQL 中配置空属性
Posted
技术标签:
【中文标题】如何在 Ms SQL 中配置空属性【英文标题】:How to config null properties in Ms SQL 【发布时间】:2021-12-13 22:48:31 【问题描述】:我有一个实体:
public class Match
public string MatchId get; set;
public int MatchNumber get; set;
public DateTime DateMatch get; set;
public TimeSpan TimeMatch get; set;
public int MatchYear get; set;
public string SeasonId get; set;
/// <summary>
/// Round have value Qualified for qualify and final for Final Round
/// </summary>
public string Round get; set;
/// <summary>
/// Stage have two value: Group and KnockOut
/// </summary>
public string Stage get; set;
public string SubStage get; set;
public string HTeam get; set;
public int HGoal get; set;
public int GGoal get; set;
public string GTeam get; set;
public string WinNote get; set;
public string Stadium get; set;
public string Referee get; set;
public long Visistors get; set;
public string Status get; set;
#region RelationShip
public virtual Season Seasons get; set;
public virtual Team HomeTeam get; set;
public virtual Team GuestTeam get; set;
//public Country Countries get; set;
#endregion
我有这样的配置:
public class MatchesConfiguration : IEntityTypeConfiguration<Match>
public void Configure(EntityTypeBuilder<Match> builder)
builder.HasKey(t => t.MatchId);
builder.Property(t => t.DateMatch).HasColumnType("date");
builder.Property(t => t.TimeMatch).HasColumnType("time");
builder.Property(t => t.MatchId)
.HasMaxLength(20)
.IsRequired();
它会像这样创建数据库表。 enter image description here
对于未完成的比赛,我没有 HGoal 和 GGoal 的值。
那么我该如何修改配置来配置它。 谢谢。
【问题讨论】:
您可能需要将他们的字段更改为int?
。字符串可能被设为 Nullable,因为字符串是对象。
【参考方案1】:
只要让属性可以为空
public int? HGoal get; set;
public int? GGoal get; set;
您必须重复迁移到数据库才能使其正常工作
【讨论】:
以上是关于如何在 Ms SQL 中配置空属性的主要内容,如果未能解决你的问题,请参考以下文章
[MS SQL Server]SQL Server如何开启远程访问
如何配置 EF Core 5 以使 MS SQL Server 数据库生成 Guid 密钥
MS SQL/Powershell:如何杀死可用性组中辅助节点上的后台进程