Código do Entity Framework 4 - inserção de muitos para muitos
Estou usando o código primeiro padrão para a camada de banco de dados.
Eu tenho duas classes POCO:
public class Order
{
[Key]
public int OrderId { get; set; }
public virtual ICollection<Item> Items { get; set; }
// other fields
}
e
public class Item
{
[Key]
public int ItemId { get; set; }
public virtual ICollection<Order> Orders { get; set; }
// other fields
}
Então eu tenho a classe de contexto de dados:
public class DataContext : DbContext
{
public DbSet<Item> Items { get; set; }
public DbSet<Order> Orders { get; set; }
}
E eu tenho uma classe "repositório":
public class OrderRepository
{
private DataContext dataContext = new DataContext();
public void Save(Order entity)
{
entity.OrderDate = System.DateTime.Now;
dataContext.Orders.Add(entity);
dataContext.SaveChanges();
}
}
Quando eu chamo esse método OrderRepository.Save, recebo um erro:Um objeto de entidade não pode ser referenciado por várias instâncias do IEntityChangeTracker.
No banco de dados, tenho uma tabela Items, Orders e Items_Orders ... pesquiso muito no Google por esse erro e pelo EF, muitos para muitos salvam, mas não encontrei nada útil que me ajudasse, porque não consegui ' Não encontre uma amostra para o princípio Code-First.
Obrigado!