sql >> Base de Datos >  >> RDS >> Sqlserver

UDT como parámetro en la consulta EF4

Creo que en su mayoría respondió a su pregunta. El cálculo debe realizarse en el servidor de la base de datos y solo desea obtener un resultado, ¿no es así? Si está utilizando SQL Server 2008, puede crear un procedimiento almacenado que acepte parámetro con valores de tabla . Ahora puede llamar a este procedimiento directamente usando ADO.NET o usando EF y context.ExecuteStoreQuery donde todavía pasas DataTable a SqlParameter con SqlDbType.Structured .

Si no usa SQL Server 2008, necesita un procedimiento almacenado con un gran parámetro nvarchar que pasa la lista completa como una cadena delimitada por comas. Su procedimiento almacenado primero analizará esta lista a la tabla temporal y luego procese el cálculo de la misma manera que con el parámetro con valor de tabla.