エンティティフレームワーク6コードファースト:ストアドプロシージャの統合
エンティティフレームワークの強化6最適化されたデータベースインタラクションと複雑な操作カプセル化のためのストアドプロシージャを備えたコードファーストアプリケーション。このガイドでは、ストアドプロシージャをコードファーストワークフローにシームレスに統合する方法を詳しく説明します。
手順のマッピングと実行:
マッピング: 'sDbContext
メソッド内で、OnModelCreating
を使用して、エンティティを対応するストアドプロシージャとリンクします。 各アクションの手順名とパラメーターを指定します(挿入、更新、削除)。
MapToStoredProcedures
メソッドを使用して、ストアドプロシージャを実行します。 手順名と入力パラメーターを提供します。手順がデータを返した場合、結果をエンティティタイプにキャストします。
Database.SqlQuery
aエンティティを想定しましょう。 次のコードは、ストアドプロシージャを使用して部門を挿入することを示しています。
このDepartment
メソッドは、部門名を渡して
<code class="language-csharp">public class DepartmentContext : DbContext { protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<Department>() .MapToStoredProcedures(s => { s.Insert(i => i.HasName("insert_department") .Parameter(b => b.Name, "department_name")); // Add mappings for UPDATE and DELETE procedures here }); } public void InsertDepartment(string departmentName) { var result = this.Database.SqlQuery<Department>( "EXEC insert_department @department_name", new SqlParameter("@department_name", departmentName)); } }</code>
重要な考慮事項:InsertDepartment
insert_department
複数の結果セット:複数の結果セットを返すストアドプロシージャの処理については、MSDNドキュメントを参照してください。
以上がエンティティフレームワーク6コードファーストのストアドプロシージャを呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。