无法将值NULL插入“ BaslikId”列中

时间:2019-03-07 22:25:14

标签: c# entity-framework foreign-keys

我想在我的桌子上建立关系。更新数据库时出现此错误。

{
  "ts": 1652718271,
  "updates": [
    [
      4,
      508976,
      33,
      466697301,
      1551996353,
      "Цацу",
      {
        "title": " ... ",
        "type": "photo"
      }
    ]
  ]
}

我的模特:

Cannot insert the value NULL into column 'BaslikId', table 'BlogSitesi.dbo.Konular'; column does not allow nulls. UPDATE fails.
The statement has been terminated.

我想在public abstract class BaseModel { public int id { get; set; } } public class Baslik:BaseModel { public string Ad { get; set; } public int KonuAdet { get; set; } public virtual List<Konu> Konular { get; set;} } public class Konu:BaseModel { public string KonuBaslik { get; set; } public string Icerik { get; set; } public int BaslikId { get; set; } public virtual Baslik Baslik { get; set; } } Konu之间建立一个关系(1-n关系)。

我该如何解决?

2 个答案:

答案 0 :(得分:0)

您似乎正在寻找Konu和Baslik之间的0-n关系:

modelBuilder.Entity<Konu>()
        .HasOptional(s => s.Baslik)
        .WithMany(g => g.Konu)
        .HasForeignKey(s => s.BaslikId);

此外,您需要将fk指定为int?,以使其可以为空,如下所示:

public int? BaslikId { get; set; }

答案 1 :(得分:-1)

您好,我认为您已将数据库中的列属性设置为“ NOT NULL”,这意味着数据库将不允许您向该列插入NULL值。基本做法是将id列设置为NOT NULL。为什么首先要在id列中插入NULL?当您要加入时,这会带来麻烦。