cod*_*sed 6 .net entity-framework sql-server-2008 ef-code-first ef-migrations
我有一些使用Entity框架生成的内联SQL脚本(函数和存储过程),Code第一种方法.
Update-Database -Script -SourceMigration:0
使用上面的命令,我得到了我在测试或生产时执行的SQL Script文件.
但是,由于以下错误,我无法运行生成的脚本:
'CREATE FUNCTION' must be the first statement in a query batch.
Run Code Online (Sandbox Code Playgroud)
该脚本生成为:
IF @CurrentMigration <'201410150019333_CreatefnGenerateRequestCode'BEGIN CREATE FUNCTION [dbo].[fnGenerateRequestCode](@ userID varchar(max))
RETURNS varchar(14)
as
我怎样才能解决这个问题?
您必须生成代码并将其作为动态 sql 执行。
DECLARE @Sql NVARCHAR(MAX)
SET @Sql =
'
IF OBJECT_ID(''fn_Test'') IS NOT NULL DROP FUNCTION fn_Test
GO
CREATE FUNCTION fn_Test(@a INT)
RETURNS INT
BEGIN
RETURN @a
END
'
IF 1 = 1
BEGIN
EXEC(@Sql)
END
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6149 次 |
| 最近记录: |