如何解决是否可以将存储过程映射到 EF Core 中的实体?
EF Core 中的类似内容
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Student>()
.MapToStoredProcedures();
}
EF 6 具有自动创建存储过程的功能。我希望有类似于 EF Core 的东西或解决方法来实现代码优先的方法。
解决方法
我认为它可以帮助您。 您可以使用 T-SQL 命令创建您自己的存储过程。如果你想尝试这种方式,你需要启用迁移并创建一个。 有了它之后,你需要创建一个继承你的 DbMigration 的部分类
public partial class SPAdder : DbMigration
{
public override void Up()
{
CreateStoredProcedure(
"dbo.ExampleSP",CreateStoredProcedure(
"dbo.ExampleSP",p => new
{
Name = p.String(),LastName = p.String(),Hometowm = p.String(),StudentID = p.Int(),},body:
@"
if(exists(Select * from Student where StudentID = @StudentID))
begin
Update Student Set Name = @Name,LastName = @LastName,Hometown = @Hometown where StudentID = @StudentID
end
else
begin
Insert Students(Name,LastName,Hometown) Values(@Name,@LastName,@Hometown)"
end
);
}
public override void Down()
{
DropStoredProcedure("dbo.ExampleSP");
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。