Estoy usando EF en mi proyecto MVC. En mi proyecto, necesito usar procedimientos almacenados. Mi problema es usar el parámetro de salida con los procedimientos almacenados. No tengo ni idea de cómo hacerloParámetro de salida con Entity Framework
18
A
Respuesta
30
Al crear su modelo de entidad, debe asegurarse de incluir los procedimientos almacenados. A continuación, cree importaciones de función para ellos:
- Abra su modelo de entidad en Visual Studio
- El navegador de modelo debe abrir en el lado derecho de la pantalla
- En el explorador de modelos, es necesario seleccionar el almacenado procedimiento y haga clic en Agregar función de importación para crear la función para el procedimiento almacenado.
- un cuadro de diálogo se abrirá para seleccionar el procedimiento almacenado y volver tipo
Eso es todo. Ahora puedes usar eso en el código.
using (MyEntities myContext = new MyEntities())
{
System.Data.Objects.ObjectParameter output = new System.Data.Objects.ObjectParameter("OutputParameterName", typeof(int));
myContext.GetCustomerCount(output);
Console.WriteLine(output.Value);
}
10
respuesta modificada para 6.x Entity Framework/VS 2015 - notar el cambio de espacio de nombres:
using (MyEntities myContext = new MyEntities())
{
System.Data.Entity.Core.Objects.ObjectParameter output = new System.Data.Entity.Core.Objects.ObjectParameter("OutputParameterName", typeof(int));
myContext.GetCustomerCount(output);
Console.WriteLine(output.Value);
}
0
Aquí hay otra manera de hacerlo utilizando Entity Framework
YourDB db = new YourDB();
public double GetCategoryYearly(double Param1, double Param2, double Param3)
{
System.Data.Entity.Core.Objects.ObjectParameter OutputParam = new System.Data.Entity.Core.Objects.ObjectParameter("SPOutputParam", typeof(double));
var objStoredProc = db.YourStoredProc(Param1, Param2, Param3, OutputParam).First();
return Convert.ToDouble(OutputParam.Value);
}
Cuestiones relacionadas
- 1. Obteniendo el parámetro de salida del procedimiento almacenado con LINQ y Entity Framework
- 2. ExecuteSqlCommand con el parámetro de salida
- 3. SQLite con Entity Framework
- 4. Autonumérico con Entity Framework
- 5. Entity-Framework 5.0 con PostgreSQL
- 6. Entity Framework con múltiples edmx
- 7. Entity Framework - ¿Herencia con .Include?
- 8. Entity Framework con archivos XML
- 9. Columnas cifradas con Entity Framework
- 10. ASP.NET MVC con Entity Framework
- 11. Dónde comenzar con Entity Framework
- 12. Actualizar declaración con Entity Framework
- 13. proyecciones de Entity Framework
- 14. Entity Framework v4.1 COMO
- 15. de error con Entity Framework .Any() Filtro
- 16. Entity Framework de prueba con dispositivos
- 17. Bases de datos compatibles con Entity Framework
- 18. Uso de MySQL con Entity Framework
- 19. Entity Framework con En lugar de triggers
- 20. Transacción de Entity Framework con varios subprocesos
- 21. Clasificación de Gridview con Entity Framework.
- 22. Uso de DataAnnotaciones con Entity Framework
- 23. Historial de instantáneas con Entity Framework
- 24. Patrón de repositorio con Entity framework
- 25. Validación de Entity Framework
- 26. no puedo obtener el parámetro de salida cuando la importación función de su uso por Entity Framework
- 27. Parámetro con valores de tabla en el procedimiento almacenado y Entity Framework 4.0
- 28. Entity Framework y Connection Pooling
- 29. Entity Framework Performance Issue
- 30. C# Entity Framework Pagination
gracias Dana ! –
Resolví un patrón similar en mi código y noté que la propiedad de valor del parámetro de salida se llena después de acceder al conjunto de resultados de salida. –
@RudolfDvoracek Sí, los parámetros de salida se llenan después de que se leen los conjuntos de datos resultantes. – Anderson