是否可以使用代码优先 entity framework 在数据库上生成基本的 CRUD 存储过程?

Is it possible to generate basic CRUD stored procedures on database with code-first entity framework?

我搜索过但找不到任何关于在以代码优先方法创建数据库时自动生成基本 CRUD 存储过程的有用信息。我想知道有没有一种方法可以简单地做到这一点,或者我应该用旧的方式创建所有的 CRUD 存储过程?

确实可以在 Entity Framework 6 及更高版本中使用代码优先数据库迁移到 generate stored procedures for CRUD operations。请注意,在 Entity Framework 5 及更早版本中,这种方式是不可能的,但您仍然可以使用原始 SQL 调用。

  1. 以正常方式定义您的实体,并将实体的 DbSet 添加到您的 DbContext class.
  2. 修改 DbContextOnModelCreating 方法以添加以下条目:modelBuilder.Entity<SomeEntity>().MapToStoredProcedures();.
  3. 使用包管理器控制台,使用 add-migration 生成新的迁移,即 add-migration SPGenerate
  4. 检查 Up 迁移方法,根据自己的喜好调整存储过程。
  5. 通过在程序包管理器控制台中发出 update-database 来提交到数据库的迁移。