Entity framework 4.0 extraño con guardar datos

Me enfrenté con el siguiente problema. Tengo un almacén de datos con modelo.

public class GameResult
    {
        public int GameResultId { get; set; }

        public virtual Competition Competition { get; set; }
        public virtual CustomDate DateGame { get; set; }       
        public virtual Contender ContenderFirst { get; set; }
        public virtual Contender ContenderSecond { get; set; }
        public virtual Location Location { get; set; }
}



public class Competition
    {
        [Key]
        public int CompetitionId { get; set; }
        public string Name { get; set; }

        //Lazy loading
        public virtual KindSport KindSport { get; set; }


    }

Algo así, genero algunos datos para la tabla de hechos.GameResult

gameResult.Location = location;
gameResult.Competition = competition;
gameResult.ContenderFirst = firstContender;
gameResult.ContenderSecond = secondContender;

public void saveGameResult(GameResult gameResult)
        {
            using (var db = new GameContext())
            {
                db.GameResults.Add(gameResult);
                db.SaveChanges();
            }

        }

Pero cuando trato de guardar los datos, no guardo enity solo de hecho, la tabla se guarda en cascada también en las tablas secundarias comoLocation, Contender.

¿Cómo puedo solucionar mi problema?

Respuestas a la pregunta(2)

Su respuesta a la pregunta