【问题标题】:What is the best method for Replacement of MapToStoredProcedures() in EF Core 3.1?在 EF Core 3.1 中替换 MapToStoredProcedures() 的最佳方法是什么?
【发布时间】:2021-04-12 03:03:07
【问题描述】:

我已经将EntityFramework 6的项目实现到EntityFramework Core 3.1中。 使用 Roslyn API,我必须迁移实体框架的属性、类型和方法。现在我已经使用 MapToStoredProcedures

Sample.cs

受保护的覆盖无效 OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity()
            .MapToStoredProcedures(p => p.Insert(sp => sp.HasName("sp_InsertStudent").Parameter(pm => pm.StudentName, "name").Result(rs => rs.StudentId, "Id"))
                    .Update(sp => sp.HasName("sp_UpdateStudent").Parameter(pm => pm.StudentName, "name"))
                    .Delete(sp => sp.HasName("sp_DeleteStudent").Parameter(pm => pm.StudentId, "Id"))
            );
}

基于链接https://github.com/dotnet/efcore/issues/245。 EF Core 不再支持,而且大多数堆栈溢出链接都是由 DbContext 方法建议的。我对此一无所知。

请就此提出替代解决方案以及如何在 Roslyn API 中执行此操作?

【问题讨论】:

  • 这与罗斯林有什么关系?
  • 这在 EFCore 中是不可能的。

标签: c# entity-framework-core entity-framework-6 roslyn roslyn-code-analysis


【解决方案1】:

没有替代品。使用标准 EF Core 保存更改。

【讨论】:

  • 那么如果我们将 EF 迁移到 EF Core 关于 StoredProcedure ,就必须更改整个结构,对吧?
  • 嗨@ErikEJ,FromSql 方法怎么样?
  • FromSQL 用于 SELECT,您可以使用 ExecuteSqlRaw 用于 CUD
  • 谢谢@ErikEJ
  • 嗨@ErikEJ,您对在EF Core 中替换Map() 有任何想法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-31
  • 2022-10-07
  • 2021-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多