Agregar valores a la relación "muchos a muchos" en Entidadframework

Tengo 3 entidades en Sqlserver que estoy mapeando con el asistente de visual Studio

Las tres entidades son las categorías de paquetes y las categorías de paquetes, donde las categorías de paquetes y una relación de muchos a muchos. Después de mapear estas entidades, obtengo 2 clases que son categorías y paquetes, se ven así: público clase parcial Paquete {paquete público () {this.Categories = new HashSet (); }

    public string PackageSid { get; set; }
    public string PackageName { get; set; }

    public virtual ICollection<Category> Categories { get; set; }
} 

Categoría de clase pública parcial {categoría pública () {this.Packages = new HashSet (); }

    public int CategoryId { get; set; }
    public string CategoryName { get; set; }
    public bool isDefault { get; set; }

    public virtual ICollection<Package> Packages { get; set; }
}

y no obtengo nada para la entidad de la relación muchos a muchos (esta es una de package_categories). El Hall Thing funciona muy bien cuando trato de obtener información de los paquetes, por ejemplo, cada vez que intento consultar un paquete, obtengo paquetes con él. y lo mismo cuando trato de obtener paquetes de categorías.

El problema es que cuando intento actualizar un paquete y agregarle categorías, la categoría se agregará no solo a la entidad packages_categories sino también a las categorías self

Un ejemplo para el código:

var categoriesList=List<Categoriy>();


categoriesList.Add(new Cateogry{
                    categoryname="catem",
                    IsDefault=false,
                    CategoryId=2332

});

var _packagesContext=new DBPackages();
_packagesContext.Add(new Packages{
                      packageSid="Sid blaaa.",
                      PackageName="TestPackage",
                      Categories=categoriesList
                           });

Ahora, en este código, se agregará un paquete con una categoría a la base de datos, pero si la categoría ya existe, se lanzará una excepción a que la categoría ya está allí (supongamos que ya está ahí, esto significa que intenta agregarlo a Categorías auto),

¿Cómo puedo resolver un problema como este? ¿Qué estoy haciendo mal :( Muchas gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta