Entity Frameworkコアnull可能な外部キー

asp.net-mvc entity-framework-core

質問

私は、外部キー値がnullになる可能性のあるエンティティのリストを取得するのに問題があります。

モデル:

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; }
}

私がすべてのContactsのリストを取得しようとすると、そのうちの1つがデータベースのCompanyIdにNULL値を持ってCompanyIdば、返されたリスト内のそのContactをスキップします。たとえば、次のようなクエリvar contacts = _context.Contacts.Include(c => c.Company).ToList();次の表からJosh Stoneのみを返します。

コンタクトテーブル

私はEntity Framework Core 1.0.0を使用しています。どんな助力も心から感謝します。

受け入れられた回答

それが実際にメアリーを返したとすれば、彼女のCompanyIdはどのようになると思いますか?私はnullを疑うだろう(それ以外に何ができるのだろうか?)その場合、あなたのモデルは間違っていてpublic int CompanyId { get; set; }public int? CompanyId { get; set; }なければならないpublic int? CompanyId { get; set; }



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ