Я использую Entity Framework Core и Fluent API.
Я пытаюсь реализовать массив связанных продуктов, который включен в мою модель продукта, например:
{
"id": 13
"name": "something",
"heading": "something else",
"summary": "please put me out my misery!"
"relatedProducts": [
{
"name": "something related",
"heading": "something else related",
"summary": "something in summary"
},
{
"name": "something related",
"heading": "something else related",
"summary": "something in summary"
}
]
}
Я в настоящее времяимейте это в моем контексте:
modelBuilder.Entity<RelatedProduct>()
.HasKey(r => new { r.ProductId, r.RelatedId });
modelBuilder.Entity<RelatedProduct>()
.HasOne(p => p.Product)
.WithMany(r => r.RelatedProducts)
.HasForeignKey(p => p.ProductId)
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<RelatedProduct>()
.HasOne(p => p.Related)
.WithMany(r => r.ProductsRelated)
.HasForeignKey(p => p.RelatedId)
.OnDelete(DeleteBehavior.Restrict);
Мой класс связанных продуктов выглядит следующим образом:
public class RelatedProduct
{
public int ProductId { get; set; }
public virtual Product Product { get; set; }
public int RelatedId { get; set; }
public virtual Product Related { get; set; }
}
Проблема в том, что мой массив relatedProduct просто возвращается пустым, даже если я подключилсяИдентификаторы в БД.
Любая помощь по этому вопросу была бы потрясающей, так как я не хочу в конечном итоге 'Bodging' это!