Невозможно вставить значение NULL в столбец 'BaslikId' - PullRequest
0 голосов
/ 08 марта 2019

Я хочу иметь отношения на моих столах.Я получаю эту ошибку при обновлении базы данных.

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 и Baslik (1-n отношение).

Как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 08 марта 2019

Здравствуйте, я думаю, что вы установили свойство столбца в вашей базе данных на "NOT NULL", что означает, что база данных не позволит вам вставлять значения NULL в этот столбец.Базовая практика заключается в том, что для столбца id должно быть установлено значение NOT NULL.Почему вы хотите вставить NULL в столбец id в первую очередь?Это создаст проблемы, когда вы будете делать соединения.

0 голосов
/ 08 марта 2019

Кажется, что вы ищете 0-n отношения между Кону и Басликом:

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

Кроме того, вам нужно указать свой fk как int?, чтобы сделать его обнуляемым, как показано ниже:

public int? BaslikId { get; set; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...