.Net 7.0 EFCore 一对多关系
User.cs
public class User
{
public long Id { get; set; }
public string Name { get; set; } = string.Empty;
public List<Content> Contents { get; set; } = new List<Content>();
}
Content.cs
public class Content
{
public long Id { get; set; }
public string Name { get; set; } = string.Empty;
public string Words { get; set; } = string.Empty;
public long UserId { get; set; }
public User user { get; set; }
}
public class UserBlogDBContext :DbContext
{
public UserBlogDBContext()
{
this.Database.EnsureCreated();
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Data Source=./testDb.db");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<User>()
.HasMany<Content>(e => e.Contents)
.WithOne(e => e.user)
.HasForeignKey(e => e.UserId)
.IsRequired();
modelBuilder.Entity<Content>()
.HasOne(e => e.user)
.WithMany(e => e.Contents)
.HasForeignKey(e => e.UserId)
.IsRequired();
}
public DbSet<User> users {get; set;}
public DbSet<Content> contents { get; set;}
}