gpt4 book ai didi

c# - 如何首先在代码中创建函数?

转载 作者:太空狗 更新时间:2023-10-29 22:32:07 24 4
gpt4 key购买 nike

是否可以使用 Code First 在 sql server 中创建数据库函数?

喜欢

CREATE FUNCTION [dbo].[fnIsPaid] ...

以下是我根据 ChrFin 的建议得出的结果。我把它标记为答案。但让我在这里做一个更详细的记录。

包管理器控制台Add-Migration AddFnIsPaid`。

这将创建一个以时间戳为前缀的 DbMigration 类。

在这个迁移类中,我有一个用于 Up()Down() 方法的创建脚本和删除脚本:

public partial class AddFnIsPaid : DbMigration
{
public override void Up()
{
Sql(_createFunctionScript);
}

public override void Down()
{
Sql(DropFunctionScript);
}


#region SQL Scripts
private readonly string _createFunctionScript = string.Concat(
"CREATE FUNCTION [dbo].[fnIsPaid] ",
"(",
...
") ",
"RETURNS bit ",
"AS ",
"BEGIN ",
...
"END"
);

private const string DropFunctionScript = "DROP FUNCTION [dbo].[fnIsPaid]";
#endregion
}

最佳答案

不,您只能告诉它将 CRUD 操作映射到存储过程 (EF 6+),例如:

modelBuilder
.Entity<Post>()
.MapToStoredProcedures();

但是您可以在迁移中执行自定义 SQL:

public override void Up()
{
Sql("CREATE FUNCTION [dbo].[fnIsPaid] ...");
}

关于c# - 如何首先在代码中创建函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24998513/

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