簡體   English   中英

是否可以在 EDMX 文件 C# DB 第一方法中更新多個程序和 function 定義

[英]Is that possible to update multiple procedure and function definition in EDMX file C# DB first approach

我必須在 edmx 中更新許多 procs 和 function,我不想在 Model 瀏覽器中逐一更新,也不想重新創建 edmx,所以那里有任何可能的解決方案,我可以更新多個 proc 或function 在一個 go 中的 edmx 文件中。

您可以參考以下內容在一個 go 中更新多個 proc 或 function。

首先,請右鍵單擊 edmx 文件並update model from database

在此處輸入圖像描述

其次,如果要添加新的過程,可以點擊添加,選擇對應的存儲過程。

在此處輸入圖像描述

如果要更新已存在的過程,可以單擊刷新並選擇存儲過程。

在此處輸入圖像描述

第三,可以在dbcontext.cs文件中看到對應的方法。

公共虛擬 ObjectResult<TestProcedure_Result> TestProcedure(Nullable age) { var ageParameter = age.HasValue? new ObjectParameter("age", age): new ObjectParameter("age", typeof(int));

        return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<TestProcedure_Result>("TestProcedure", ageParameter);
    }

    public virtual ObjectResult<Pro1_Result> Pro1(Nullable<int> age)
    {
        var ageParameter = age.HasValue ?
            new ObjectParameter("age", age) :
            new ObjectParameter("age", typeof(int));

        return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<Pro1_Result>("Pro1", ageParameter);
    }

    public virtual ObjectResult<string> Proc2(Nullable<int> score)
    {
        var scoreParameter = score.HasValue ?
            new ObjectParameter("score", score) :
            new ObjectParameter("score", typeof(int));

        return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<string>("Proc2", scoreParameter);
}

最后,您可以使用以下代碼通過存儲過程獲取結果。

 using (var db = new StudentContext())
            {
                var result = db.TestProcedure(20);
                foreach (var stu in result)
                {
                    Console.WriteLine(stu.Name);
                }
            }

暫無
暫無

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

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