Entity framework code-first null foreign key

前端 未结 4 1377
梦如初夏
梦如初夏 2020-11-28 05:34

I have a User < Country model. A user belongs to a country, but may not belong to any (null foreign key).

How do I set this up? When I t

相关标签:
4条回答
  • 2020-11-28 06:02

    I recommend to read Microsoft guide for use Relationships, Navigation Properties and Foreign Keys in EF Code First, like this picture.

    Guide link below:

    https://docs.microsoft.com/en-gb/ef/ef6/fundamentals/relationships?redirectedfrom=MSDN

    0 讨论(0)
  • 2020-11-28 06:13

    I have the same problem now , I have foreign key and i need put it as nullable, to solve this problem you should put

        modelBuilder.Entity<Country>()
            .HasMany(c => c.Users)
            .WithOptional(c => c.Country)
            .HasForeignKey(c => c.CountryId)
            .WillCascadeOnDelete(false);
    

    in DBContext class I am sorry for answer you very late :)

    0 讨论(0)
  • 2020-11-28 06:22

    You must make your foreign key nullable:

    public class User
    {
        public int Id { get; set; }
        public int? CountryId { get; set; }
        public virtual Country Country { get; set; }
    }
    
    0 讨论(0)
  • 2020-11-28 06:22

    I prefer this (below):

    public class User
    {
        public int Id { get; set; }
        public int? CountryId { get; set; }
        [ForeignKey("CountryId")]
        public virtual Country Country { get; set; }
    }
    

    Because EF was creating 2 foreign keys in the database table: CountryId, and CountryId1, but the code above fixed that.

    0 讨论(0)
提交回复
热议问题