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!

questionAnswers(1)

yourAnswerToTheQuestion