Esto me está volviendo loco, y el error no tiene sentido para mí:
No se puede actualizar el EntitySet 'TableB' porque tiene un DefiningQuery y no existe ningún elemento en el elemento para admitir la operación actual.
Mis tablas se ponen así:
Tabla A int idA (identidad, clave primaria) ... TableB int idA (FK para TableA.idA) int val
TableB no tiene una clave primaria definida en el servidor SQL. Entity Framework ha importado la tabla y la asociación y ha establecido ambos campos como clave. ¡Pero generará ese error cuando intento hacer una inserción en la tabla!
¿Qué pasa?
Editar: como lo sugirió Alex, la solución fue esta:
- Haga clic derecho en el archivo edmx, seleccione Abrir con, editor XML
- Localice la entidad en el elemento edmx: StorageModels
- Eliminar el DefiningQuery por completo
- Cambie el nombre de la tienda: Schema = "dbo" a Schema = "dbo" (de lo contrario, el código generará un error que indica que el nombre no es válido)
- Eliminar la tienda: propiedad Nombre
Dejé la clave como estaba, ya que estaba bien para mí que ambas columnas sean parte de la clave.