Bien, aquí está el escenario. Tengo 3 tablas. Uno llamado aspnet_Users uno llamado Categorías y una tabla de enlace llamada User_Categories. aspnet_Users y Categories tienen claves principales (UserId e ID respectivamente). La tabla de enlace tiene solo dos columnas: CategoryID y UserId, y hay configuración de relaciones de clave externa para cada columna Y tengo una configuración de clave única para las dos columnas en User_Categories. Esto establece una relación de muchos a muchos entre la tabla aspnet_Users y la tabla Categorías. Genere el archivo edmx de mi entidad a partir de esta configuración de base de datos, y todo se ve perfecto y funciona para casi todas las operaciones.Error de Entity Framework 4: no se puede actualizar EntitySet porque tiene un DefiningQuery
Lo que quiero hacer es agregar una nueva categoría de un formulario (que funciona perfectamente por sí mismo) y, al mismo tiempo, asociar un usuario específico con la categoría que acaba de enviar. Cuando trato de hacer esto, obtengo el error en mi línea de asunto. Aquí está el código que estoy usando para probar este (CTX es mi entidades contexto de objeto):
public ActionResult Create(Category category, Guid userId)
{
aspnet_Users user = ctx.aspnet_Users.SingleOrDefault(x => x.UserId == userId);
ctx.Categories.AddObject(category);
user.Categories.Add(category);
ctx.SaveChanges();;
return RedirectToAction("Index");
}
Por qué no funciona?
¡¿Qué pasa si obtienes esto en una vista en lugar de una tabla! – Necronet
@Necronet, lo siento, no puedo decirlo. Las vistas también pueden definir claves, ¿verdad? ¿Tiene uno definido en su punto de vista? –
sí, pero EF parece estar configurando mis llaves automáticamente (y al azar también), traté de editar el dmx con el editor XML, pero cada vez que lo actualizo, vuelve a configurar la clave, no sé por qué ... – Necronet