如何设置ef核心外键字段不为null?

时间:2019-10-29 10:02:38

标签: c# .net-core entity-framework-core

我在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 个答案:

答案 0 :(得分:1)

您也可以将外键添加到模型中,并在外键允许为null或不允许null时使用它进行控制。

[ForeignKey(nameof(PlatformId))]
public virtual Platform Platform { get; set; }
public Guid PlatformId { get; set; }

答案 1 :(得分:0)

如果您希望字段不为空,则添加属性<section class="blog_area p_120"> <div class="container"> <div class="row"> <div class="col-lg-8"> <div class="blog_left_sidebar"> @foreach ($raksti as $raksts) <article class="blog_style1"> <div class="blog_img"> <img class="img-fluid" src="{{$raksts->image}}" alt=""> </div> <div class="blog_text"> <div class="blog_text_inner"> <div class="cat"> <a class="cat_btn" href="#">{{$raksts->kato->title}}</a> <i class="fa fa-calendar" aria-hidden="true"></i> {{$raksts->created_at}} <i class="fa fa-comments-o" aria-hidden="true"></i> 05 </div> <a href="#"> <h4>{{$raksts->title}}</h4> </a> <p>{{$raksts->short_desc}}</p> <a class="blog_btn" href="#">Lasīt vairāk</a> </div> </div> </article> @endforeach </div> </div> </div> </div> </section>

[Required]

或者您可以阅读Ivan Stoev的链接,以使流畅的实体框架