在 EF Core 3.1 中替换 MapToStoredProcedures() 的最佳方法是啥?
Posted
技术标签:
【中文标题】在 EF Core 3.1 中替换 MapToStoredProcedures() 的最佳方法是啥?【英文标题】: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 中是不可能的。 【参考方案1】:没有替代品。使用标准 EF Core 保存更改。
【讨论】:
那么如果我们将 EF 迁移到 EF Core 关于 StoredProcedure ,就必须更改整个结构,对吧? 嗨@ErikEJ,FromSql 方法怎么样? FromSQL 用于 SELECT,您可以使用 ExecuteSqlRaw 用于 CUD 谢谢@ErikEJ 嗨@ErikEJ,您对在EF Core 中替换Map() 有任何想法以上是关于在 EF Core 3.1 中替换 MapToStoredProcedures() 的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 EF Core 3.1 中使用脚手架流程更新我的实体 - 执行超时已过期