Как установить поле внешнего ключа ef core не нуль? - PullRequest
0 голосов
/ 29 октября 2019

У меня есть две сущности в ядре ef,

public class Post
{
    // ... Some properties

    public Guid Id { get; set; }

    /// <summary>
    /// Gets or sets post platform.
    /// </summary>
    public virtual Platform Platform { get; set; }


    //... More properties
}

 public class Platform
{
    public Guid Id { get; set; }

    /// <summary>
    /// Gets or sets platform name.
    /// </summary>
    public string Name { get; set; }

    /// <summary>
    /// Gets or sets platform id.
    /// </summary>
    public string Version { get; set; }

    /// <summary>
    /// Gets or sets platform logo url.
    /// </summary>
    public string LogoUrl { get; set; }
}

, а затем я добавил миграции в базу данных,

Проблема в базе данных: она связана с таблицей записей к таблице платформы через PlatformId но этот столбец допускает ноль,

Может ли кто-нибудь указать мне, в чем проблема с этим, мне нужно избегать нулей для этого отношения.

Спасибо. enter image description here

Ответы [ 2 ]

1 голос
/ 29 октября 2019

Вы также можете добавить внешний ключ к своей модели и использовать его для управления, когда он допускает ноль или нет.

[ForeignKey(nameof(PlatformId))]
public virtual Platform Platform { get; set; }
public Guid PlatformId { get; set; }
0 голосов
/ 29 октября 2019

Если вы хотите, чтобы поле не было пустым, добавьте атрибут [Required]:

[Required]
public Guid PlatformId { get; set; }

, или вы можете прочитать ссылку Ивана Стоева в комментариях для бегущей структуры сущностей

...