Мне нужно загрузить список cart_row класса AssociationAuxcart из корзины.
я пробовал:
ctx.Entry(cart.association).Collection(x => x.cart_rows).Load();
но это дает мне следующее исключение, еще не гуглил.
Исходный запрос для этого EntityCollection или EntityReference не может быть возвращен, когда связанный объект находится либо в добавленном состоянии, либо в отключенном состоянии и не был первоначально получен с помощью параметра слияния NoTracking
Вот мои разные сущности
public class cart
{
public long? id { get; set; }
...
public AssociationsCartAux associations { get; set; }
}
public class AssociationsCartAux : PrestaShopEntity
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long? id_virtual { get; set; }
public List<cart_row> cart_rows { get; set; }
public AssociationsCartAux()
{
this.cart_rows = new List<cart_row>();
}
}
public class cart_row
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long? id_cartRow_fictive { get; set; }
public long? id_product { get; set; }
public int quantity { get; set; }
}
и мой контекст БД:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<cart>()
.HasRequired(s => s.associations)
.WithRequiredPrincipal(ad => ad.cart);
modelBuilder.Entity<cart_row>()
.HasRequired(cr => cr.AssociationsCartAux)
.WithMany(c => c.cart_rows)
.HasForeignKey(cr => cr.id_AssocCartAux);
modelBuilder.Entity<AssociationsCartAux>().ToTable("carts");
}