我正在开发餐厅应用程序。我有一个餐厅模型和一个餐桌模型。
namespace Restaurant.Models
{
[Table("Restaurant")]
public class RestaurantModel
{
[Key]
[Column("id")]
public int Id { get; set; }
[Column("name")]
public string Name { get; set; }
[Column("telephone_number")]
public int TelephoneNumber { get; set; }
[NotMapped]
public List<TableModel> Tables;
public RestaurantModel()
{
Tables = new List<TableModel>();
}
}
}
namespace Restaurant.Models
{
[Table("Table")]
public class TableModel
{
[Key]
[Column("id")]
public int Id { get; set; }
[ForeignKey("restaurant_id")]
[Required] [NotNull]
public int RestaurantId { get; set; }
[Column("available_seats")]
public int AvailableSeats { get; set; }
[Column("is_indoors")]
public bool IsIndoors { get; set; }
}
}
以下是 Entity Framework 通过我的上下文为我创建的列和键:

最后,这是我的 Context 类:
namespace Restaurant.Data
{
public class RestaurantContext : DbContext
{
public RestaurantContext(DbContextOptions<RestaurantContext> options) : base(options)
{
}
public DbSet<RestaurantModel> Restaurants { get; set; }
public DbSet<TableModel> Tables { get; set; }
public DbSet<GuestModel> Guests { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<RestaurantModel>().ToTable("Restaurant");
modelBuilder.Entity<TableModel>().ToTable("Table");
modelBuilder.Entity<GuestModel>().ToTable("Guest");
modelBuilder.Entity<TableModel>()
.HasOne<RestaurantModel>();
}
}
}
当我检索一家餐馆时,我希望在 TableModel 列表中检索相应的表。目前,当我检索餐厅时,它不会检索任何相应的表格。这对我来说很有意义,因为我没有正确连接 EntityFramework 的关系以识别它。我试图在网上查看如何做到这一点,咨询有关设置外键关系的指南等。由于缺乏基本知识,我无法找到我正在寻找的信息。我能找到的答案对我来说没有意义,因为我不明白他们在做什么或他们是如何做的。
谁能指出我正确的方向或告诉我我做错了什么?
