use*_*054 1 c# sql sql-server entity-framework
为什么这段代码会抛出错误?
using (ProviderContext db = new ProviderContext())
{
string sqlcommand = @"GO CREATE TRIGGER [Trigger] ON [dbo].[News] FOR insert AS BEGIN SET NOCOUNT OFF insert [Statistics](NewsStatID) select NewsID from inserted update [Statistics] set Hits = '0' update [Statistics] set Positive = '0' update [Statistics] set Negative = '0' END";
db.Database.ExecuteSqlCommand(sqlcommand);
db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
EntityFramework.SqlServer.dll中出现"System.Data.SqlClient.SqlException"类型的异常,但未在用户代码中处理
其他信息:关键字"TRIGGER"附近的语法错误.
先感谢您!
小智 5
因为你的语法错了?
GO不是SQL Server理解的关键字 - 它是管理工作室的一个功能.
引用文档(显然是在那里,不是吗?):
将一批Transact-SQL语句的结尾发送到SQL Server实用程序.
现在,您不在实用程序中,因此无法识别关键字.这也没有意义.如:不需要.
顺便说一下,这也是错的:
设置否定='0'
你刚才写的
设置负值= 0
SQL Server完全能够处理数字.