gpt4 book ai didi

c# - 带有自定义存储过程的 EF 6 代码优先

转载 作者:太空狗 更新时间:2023-10-29 17:51:56 26 4
gpt4 key购买 nike

我正在使用代码优先方法创建 MVC 5 应用程序,但我也在 SQL Server 数据库上创建了一些存储过程,有没有一种方法可以在创建数据库时在 c# 中生成这些存储过程,也许通过执行 sql 脚本,如果可以,我应该在哪里执行此操作?

最佳答案

我会使用代码迁移。

在您的 Nuget 包管理器中,您可以通过键入来设置空白迁移

add-migration AddMyStoredProcedure

这应该像这样生成一个空类

public partial class AddMyStoredProcedure : DbMigration
{
public override void Up()
{
}

public override void Down()
{
}
}

您需要做的就是像这样添加您的存储过程(请记住在 Down 方法中删除存储过程,以防您将来需要回滚迁移)。

    public partial class AddMyStoredProcedure : DbMigration
{
public override void Up()
{
Sql(@"
CREATE PROCEDURE dbo.GetMyAddress
AS
SELECT * FROM Person.Address");
}

public override void Down()
{
Sql("DROP PROCEDURE dbo.GetMyAddress");
}
}

最后更新你的数据库

update-database

关于c# - 带有自定义存储过程的 EF 6 代码优先,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23301964/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com