[英]EF Core 3 - One-To-Many Relationship is not populating
我有 2 個模型 - 用戶和訂單。 一個用戶有很多訂單,一個訂單有一個用戶。
public class User
{
[Key]
public int Id { get; set; }
...
public List<Order> Orders { get; set; } = new List<Order>();
}
public class Order
{
[Key]
public int Id { get; set; }
public int UserId { get; set; }
public User User { get; set; }
...
}
我的數據庫提供商是 MySQL,所以我使用的是 Pomelo.EntityFrameworkCore.MySql。
問題是 Orders 屬性始終為空(或沒有屬性初始化程序的 null)。 我嘗試過使用 ForeignKey 和 InversionProperty,但它沒有幫助。
任何幫助表示贊賞。
為了填充 Order.User 和 User.Orders,您需要調用.Include()。 例如:
this.databaseContext.Orders.Include(order => order.User).Where(...);
this.databaseContext.Users.Include(user => user.Orders).Where(...);
資料來源: https://docs.microsoft.com/en-us/ef/core/querying/related-data
編輯:看到問題下的評論,我認為您在設置兩個類之間的關系時遇到問題。 在您的上下文中,您應該設置關系。 這是一個例子:
protected override void OnModelCreating(ModelBuilder modelBuilder) {
modelBuilder.Entity<Order>()
.HasOne(_ => _.User)
.WithMany(_ => _.Orders)
.HasForeignKey(_ => _.UserId);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.