簡體   English   中英

在實體框架中如何在mvc asp.net中提取過程信息

[英]In Entity Framework How To Extract Procedure Information In mvc asp.net

我在sql server有一個stored procedure ,即

 Create  PROCEDURE [dbo].[Validate_User]
        @Username NVARCHAR(20),
        @Password NVARCHAR(20)
    AS
    BEGIN
        SET NOCOUNT ON;
        DECLARE @UserId INT, @LastLoginDate DATETIME, @RoleId INT

        SELECT @UserId = UserId, @LastLoginDate = LastLoginDate, @RoleId = RoleId 
        FROM Users WHERE Username = @Username AND [Password] = @Password

        IF @UserId IS NOT NULL
        BEGIN
            IF NOT EXISTS(SELECT UserId FROM UserActivation WHERE UserId = @UserId)
            BEGIN
                UPDATE Users
                SET LastLoginDate =  GETDATE()
                WHERE UserId = @UserId

                SELECT @UserId [UserId], 
                        (SELECT RoleName FROM Roles 
                         WHERE RoleId = @RoleId) [Roles] -- User Valid and Returns UserId and Roles
            END
            ELSE
            BEGIN
                SELECT -2 -- User not activated.
            END
        END
        ELSE
        BEGIN
            SELECT -1 -- User invalid.
        END
END

這里是我ActionResult

[HttpPost]
public ActionResult Login(string Username,string Password,bool RememberMe)
{
            try
            {
                int userid = 0;
                string roles = string.Empty;
                RememberMe = false;
                if(ModelState.IsValid)
                {
                     //Here I wnat to extract the procedure info like
                     // UserId And Roles if valid user 
                     // And set those information in userid and roles
                     //...
                }
            }catch(Exception ex){
                 //Handel Any Exception
            }
}

我正在使用Entity Framework Model但對如何使用EF提取Procedure返回值一無所知,就像我們使用SqlDataReader作為索引的常規方法(例如reader["UserId"]reader["Roles"]提取信息一樣。 那么我將如何在EF mvc做到這一點?

好吧好吧

首先 :在擁有實體的相同解決方案中進行項目

第二 :轉到“模型瀏覽器”選項卡

第三 :右鍵單擊圖的任何空間,然后單擊“更新模型”

第四 :按照向導步驟操作,然后選擇所需的存儲過程

第五 :添加它們后,現在在同一標簽“ Functions Imports”中查找文件夾。 添加一個並命名,並將其與您已添加的SP鏈接

還記得您必須創建一個復雜類型,您的SP將返回這些列,好嗎?

現在轉到控制器類。 記住要在類頂部添加模型上下文命名空間

現在,當您創建模型上下文的新實例時,將看到您為其命名的spFunctionImport

https://msdn.microsoft.com/zh-CN/library/bb896231(v=vs.100).aspx

以下鏈接較舊,但更具圖形效果

https://msdn.microsoft.com/zh-CN/data/gg699321.aspx

問候

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM