Entity Framework Core nullable foreign key

孤者浪人 提交于 2019-12-10 13:05:19

问题


I am having trouble getting a list of entities where a foreign key value could be null.

The Models:

public class Company
{
    [Key]
    [Required]
    public int Id { get; set; }
    [Display(Name = "Company Name")]
    public string CompanyName { get; set; }
    [Display(Name = "Main Phone")]
    public string LandPhone { get; set; }
    [Display(Name = "Fax")]
    public string FaxPhone { get; set; }
}

public class Contact
{
    [Key]
    [Required]
    public int Id { get; set; }
    [Display(Name ="First Name")]
    public string FirstName { get; set; }
    [Display(Name = "Last Name")]
    public string LastName { get; set; }
    [EmailAddress]
    public string Email { get; set; }
    [Display(Name = "Mobile Phone")]
    public string MobilePhone { get; set; }
    [Display(Name = "Office Phone")]
    public string LandPhone { get; set; }
    [Display(Name = "Fax")]
    public string FaxPhone { get; set; }
    public string Title { get; set; }
    public int CompanyId { get; set; }
    [ForeignKey("CompanyId")]
    public Company Company { get; set; }
}

When I try and get the list of all Contacts and one of them has a null value for CompanyId in my database, it will skip that Contact in the list it returns. For example, the query var contacts = _context.Contacts.Include(c => c.Company).ToList(); only returns Josh Stone from the following table:

Contacts Table

I am using Entity Framework Core 1.0.0. Any help would be sincerely appreciated.


回答1:


Supposing that it did actually return mary, what would you expect her CompanyId to be? I would suspect null (what else could it be?), in which case your model is wrong and public int CompanyId { get; set; } should be public int? CompanyId { get; set; }



来源:https://stackoverflow.com/questions/40291466/entity-framework-core-nullable-foreign-key

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!