簡體   English   中英

如何從實體數據向導以Entity Framework代碼優先的方式導入現有存儲過程?

[英]How to import existing stored procedure in Entity Framework code-first from entity data wizard?

今天,我首先使用現有的數據庫方法來模擬代碼。 但是在VS 2017中的“實體數據模型向導”->“導入選定的存儲過程”中,禁用了“將功能導入實體模型”復選框。 請參閱所附的屏幕截圖:

實體數據模型向導

那么如何啟用該選項?

您不需要導入過程。

代碼示例中顯示了使用現有存儲過程(InsertStudent,UpdateStudent)。 只需重寫OnModelCreating方法並使用實體映射存儲過程。

有關詳細信息,請參閱此頁面http://www.entityframeworktutorial.net/EntityFramework6/code-first-insert-update-delete-stored-procedure-mapping.aspx

public class SchoolContext: DbContext 
{
   protected override void OnModelCreating(DbModelBuilder modelBuilder)
   {

     modelBuilder.Entity<Student>()
        .MapToStoredProcedures(p => p.Insert(sp => sp.HasName("InsertStudent").Parameter(pm => pm.StudentName, "name").Result(rs => rs.StudentId, "Id"))
            .Update(sp => sp.HasName("UpdateStudent").Parameter(pm => pm.StudentName, "name"))
            .Delete(sp => sp.HasName("DeleteStudent").Parameter(pm => pm.StudentId, "Id"))
        );
   }
}

暫無
暫無

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

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