Esto se debe a la forma en que EF4 funciona con el modelo primero.
Cuando crea por primera vez un modelo modelo primero, está en un estado que el SSDL no existe. Puede arrastrar entidades, asociarlas, etc., pero, si echa un vistazo al SSDL en el archivo EDMX, verá que ninguna de las entidades tiene una tabla de almacenamiento asociada en el SSDL.
Eso cambia cuando hace clic en el elemento de menú contextual Generate Database From Model
. La parte confusa es que esta acción hace más que simplemente generar un script DDL. De hecho, cambia el archivo EDMX para incluir información SSDL. A partir de este punto, el archivo EDMX ingresará un estado en el cual cada entidad en el diseñador/CSDL debe mapear a una entidad en el SSDL. Si uno no se asigna, se activará un error de tiempo de compilación:
No mapping specified for the following EntitySet/AssociationSet - (EntityName)
Otro hecho interesante es que no es el tipo de error que impedirá la compilación. De hecho, generará la biblioteca de la clase de salida. ¿No debería ser una advertencia o algo así?
Para evitar este error, todo lo que tiene que hacer después de insertar una entidad nueva es Generate Database From Model
nuevamente. Eso actualizará el SSDL y arreglará las asignaciones.
EDITAR
Si no se está utilizando "actualización de base de datos" modelo primero y, también tendrá este error en el caso que eliminó una tabla en la base de datos del servidor. Esto se debe a que Entity Framework no eliminará automáticamente la entidad por usted. Elimine la entidad manualmente y el error desaparecerá.
Así puede generar script de base de datos de su modelo? –
[Si está utilizando "Actualizar modelo desde la base de datos", tal vez esta publicación lo ayude] (http://stackoverflow.com/a/40085976/5713106) – Junior