He creado un procedimiento almacenado simple sin parámetros que he pegado a continuación. Importé el procedimiento almacenado en mi Modelo de Entidad y creé una Importación de Función. La función en el modelo nunca se crea y no puedo ejecutar este procedimiento almacenado utilizando ADO.NET Entity Framework. He abierto el archivo .edmx en la vista XML y he confirmado que no hay errores con respecto a este procedimiento almacenado. ¿Qué estoy haciendo mal? ¿Es realmente imposible llamar a un procedimiento almacenado tan simple desde el Entity Framework? Establecí el tipo de devolución para la función de importación en Ninguno viendo que este procedimiento almacenado no necesita devolver ningún conjunto de registros o valores.No se puede ejecutar el procedimiento almacenado con ADO.NET Entity Framework
procedimiento almacenado:
ALTER PROC [dbo].[Inventory_Snapshot_Create]
AS
SET NOCOUNT ON
DECLARE @Inventory_Snapshot_ID int
INSERT INTO Inventory_Snapshots (snapshot_timestamp)
VALUES (GETDATE())
SET @Inventory_Snapshot_ID = SCOPE_IDENTITY()
INSERT INTO Inventory_Snapshot_Products (inventory_snapshot_id,
idProduct, stock)
SELECT @Inventory_Snapshot_ID, idProduct, stock
FROM products
SET NOCOUNT OFF
Código intentar ejecutar procedimiento almacenado:
Dim db As New MilkModel
db.Inventory_Snapshot_Create()
Gracias por el trabajo, tampoco puedo creer que no pueda llamar a procedimientos almacenados. pero como dice pmarflee, el razonamiento es que si estás modificando las tablas en tu EF, entonces no debes usarlo. – greektreat
No es necesario hackearlo, vea esto: http://msdn.microsoft.com/en-us/library/bb896231.aspx –