我正在使用以下命令在.NET Core应用程序中生成Entity Framework类:
Scaffold-DbContext "Server=server name;Database=DB name;user id=user name;password=password;Trusted_Connection=False;Encrypt=True;"
Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models/DB
它运行良好,正在为数据库中的所有表和视图创建模型。但是奇怪的是,它没有为存储过程创建模型。
我在脚手架语法中缺少什么吗?
答案 0 :(得分:0)
Entity Framework Core仅为表创建实体类;存储过程或视图仍然不受支持。
但是有一个Github问题跟踪,您可以找到更多信息:Stored procedure mapping support
如何在脚手架之后添加存储过程(如普通实体):
创建存储过程的输出模型:
public class SampleModel
{
public int ID { get; set; }
public string Name { get; set; }
}
将新的DbSet
添加到您的上下文中:
public virtual DbSet<SampleModel> SampleModels { get; set; }
将模型用于输出:
var sampleModels = _context.SampleModels.FromSql($"EXEC ReturnAllSampleModels").ToList();
完成。
答案 1 :(得分:0)
如果需要脚手架存储过程,请查看SPToCore实用程序:
它允许您自动生成所有存储过程方法,结果集和参数映射