Resultado de DbDataReader a modelo de base de datos en ASP.NET MVC 4, proveniente de un procedimiento almacenado usando ADO.NET.
Tengo un procedimiento almacenado definido por el usuario que devuelve varias tablas reales como conjunto de resultados:
CREATE PROCEDURE uspDemo
(@UserID BIGINT = 0,
@IsAdmin BIT = 0,
@Title VARCHAR(120) = '')
AS
BEGIN
------Recuperar publicaciones------
SELECT *
FROM tblPost AS MP
INNER JOIN tblUserProfile AS UP ON UP.ID = MP.UserID
WHERE UP.ID = @UserID
AND ((@IsAdmin = 0 AND MP.IsDeleted = 0 AND MP.IsApproved = 1)
OR (@IsAdmin = 1 OR MP.IsDeleted = 0 OR MP.IsApproved = 1))
----- Recuperar etiquetas------
SELECT *
FROM tblTagMasters AS MT
INNER JOIN tblPostTags AS MP ON MT.TagID = MP.TagID
--------Recuperar las preferencias del usuario-----
SELECT *
FROM tblUserLikes AS UV
INNER JOIN tblPost AS MP ON MP.PostId = UV.PostId
END
¿Cómo se traduce en ASP.NET MVC? Por favor, ayúdame.
davy.ai
Para traducir este procedimiento almacenado definido por el usuario en ASP.NET MVC, debes seguir estos pasos:
Crea una clase que represente los parámetros de entrada para el procedimiento almacenado. En este caso, los parámetros de entrada son UserID, IsAdmin y Title.
En tu controlador MVC, crea un método de acción que llame al procedimiento almacenado utilizando ADO.NET.
Utiliza ADO.NET para recuperar los datos de cada tabla devuelta por el procedimiento almacenado y poblar las clases de modelo correspondientes.
Pasa las clases de modelo como modelos de vista a tu vista de MVC, donde puedes mostrar los datos al usuario.
Aquí tienes un ejemplo de cómo implementar el método de acción del controlador:
Ten en cuenta que esto es solo un ejemplo y es posible que necesites personalizar el código para adaptarlo a tu escenario específico.</models.userlike></models.tagmaster></models.post>