InvalidOperationException al llamar a SaveChanges en el marco de la entidad .NET

Estoy tratando de aprender a usar el marco de Entity pero tengo un problema que no puedo resolver. Lo que estoy haciendo es que estoy recorriendo una lista de películas que tengo e inserta cada una en una base de datos simple.

Este es el código que estoy usando

<code>private void AddMovies(DirectoryInfo dir)
{
    MovieEntities db = new MovieEntities();
    foreach (DirectoryInfo d in dir.GetDirectories())
    {
        Movie m = new Movie { Name = d.Name, Path = dir.FullName };
        db.AddToMovies(movie);
    }
    db.SaveChanges();
}
</code>

Cuando hago esto, obtengo una excepción en db.SaveChanges () que lee.

Los cambios en la base de datos se confirmaron correctamente, pero se produjo un error al actualizar el contexto del objeto. El ObjectContext podría estar en un estado inconsistente. Mensaje de excepción interna: AcceptChanges no puede continuar porque los valores clave del objeto entran en conflicto con otro objeto en el ObjectStateManager. Asegúrese de que los valores clave sean únicos antes de llamar a AcceptChanges.

No he podido averiguar qué está causando este problema. Mi tabla de base de datos contiene tres columnas
Id int autoincrement
Nombre nchar (255)
Ruta nchar (255)

Actualización: Revisé mi archivo edmx y la sección SSDL tiene el valor de "Identidad de TiendaGeneratedPattern" como se sugiere. También seguí la publicación del blog e intenté agregar ClientAutoGenerated = "true" y StoreGenerated = "true" en el CSDL como se sugiere allí. Esto dio lugar a errores de compilación (Error 5: el atributo 'ClientAutoGenerated' no está permitido). Dado que la publicación del blog es de 2006 y tiene un enlace a una publicación de seguimiento, asumo que se ha cambiado.

Sin embargo, no puedo leer la publicación de seguimiento ya que parece requerir una cuenta msdn.

Respuestas a la pregunta(8)

Su respuesta a la pregunta