我与EF 6
我是否需要明确地添加SET ANSI_NULLS上的EntityFramework迁移
string sqlQuery = @"
/****** Object: StoredProcedure [dbo].[GetSalesByLocation] Script Date: 9/21/2016 8:32:36 AM ******/
SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
CREATE PROCEDURE [dbo].[GetSalesByLocation]
@MerchantID bigint,
@LocationID bigint,
@AccountAccessID bigint,
@KioskID bigint,
@StartDate DATETIME,
@EndDate DATETIME
AS
BEGIN
.....
END
GO";
Sql(sqlQuery);
写迁移stored procedure
当我尝试运行Update-database
命令我得到以下错误
Incorrect syntax near 'GO'.
Incorrect syntax near 'GO'.
'CREATE/ALTER PROCEDURE' must be the first statement in a query batch.
Incorrect syntax near 'GO'.
此外,当我创建SP
没有
SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
并打开SQL管理工作室我可以看到上面的语句自动添加。
所以我的问题是,如果我正在为存储过程编写迁移,我需要`显式设置ansi null?
你可以显示你的'OnModelCreating()'方法吗? – Sampath
注意:在T-SQL中写东西时,“GO”应该在自己的行上。也就是说,'GO'不是严格的T-SQL(请参阅这里的评论:https://msdn.microsoft.com/en-us/library/ms188037.aspx),所以我不确定你甚至可以创建这样的程序。编辑:至于手头的问题,这取决于你的设置。当你有正确的设置时,并不是绝对必要的,但为了以防万一,这可能是一个好习惯。 – ZLK
@Sampath:存储过程 –