c# - Entity Framework Core Database 首先不渲染存储过程的模型?
问题描述
数据库
我有存储过程名称GetAllCustomer
我在 EntityFramework 6x 和 Project ASP.NET MVC5 中有存储过程。
我通过调用使用db.GetAllCustomer.ToList();
但在EntityFramework Core中,它没有呈现DbSet,我需要手动创建它。它不能使用 EF 6x。
这是我的作品的图片:
有没有办法像 EF 6x 一样简单地调用存储过程?
解决方案
EF Core Power Tools 可以为您映射存储过程,它不是 EF Core 的内置功能。
示例用户代码:
using (var db = new NorthwindContext())
{
var procedures = new NorthwindContextProcedures(db);
var orders = await procedures.CustOrderHist("ALFKI");
foreach (var order in orders)
Console.WriteLine($"{order.ProductName}: {order.Total}");
var outOverallCount = new OutputParameter<int?>();
var customers = await procedures.SP_GET_TOP_IDS(10, outOverallCount);
Console.WriteLine($"Db contains {outOverallCount.Value} Customers.");
foreach (var customer in customers)
Console.WriteLine(customer.CustomerId);
}
在此处阅读更多信息:https ://github.com/ErikEJ/EFCorePowerTools/wiki/Reverse-Engineering#sql-server-stored-procedures
推荐阅读
- date - Teradata 使用 CASE 语句需要更改日期格式
- python - 为什么在尝试与位操作相乘时我偏离了 1-2?
- swift - 快速,如何使用 .crossDissolve 动画执行转场?
- docker - LCOW WS2019 中的 Linux 容器启动问题:CreateProcess 期间出错:Windows 系统调用失败:未指定错误 (0x80004005)
- powershell - 将 OUTLOOK.HOL 文件解析为 CSV
- r - 转换数据框列表以获得 df 名称和年度均值的均值
- arrays - 在C中将数字添加到字符串中
- html - 联系表单提交按钮适用于桌面,但不适用于移动设备
- tensorflow - 如何保存和导出我的 tensorflow 模型以在不同的代码中使用?
- scala - 如何在 Spark Scala 中将宽数据帧转换为垂直数据帧