EFCore 怎么设置外键可为空
在EF Core中,可以使用HasOne或HasMany方法来设置外键可为空。
假设有两个实体类Parent和Child,其中Child类有一个可为空的外键ParentId,可以按照以下方式设置外键可为空:
public class Parent
{
public int Id { get; set; }
public ICollection<Child> Children { get; set; }
}
public class Child
{
public int Id { get; set; }
public int? ParentId { get; set; }
public Parent Parent { get; set; }
}
public class AppDbContext : DbContext
{
public DbSet<Parent> Parents { get; set; }
public DbSet<Child> Children { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Child>()
.HasOne(c => c.Parent)
.WithMany(p => p.Children)
.HasForeignKey(c => c.ParentId)
.IsRequired(false); // 设置外键可为空
}
}
在上述代码中,通过在HasForeignKey方法中使用IsRequired(false)来设置外键可为空
原文地址: https://www.cveoy.top/t/topic/iCV3 著作权归作者所有。请勿转载和采集!