我正在使用Entity Framework v 6.1.3,我想检查数据库中是否存在触发器。
我正在运行一段SQL,但是对触发器存在的检查不起作用。在针对同一数据库运行时,它在SQL Server Management Studio中运行良好。从EF / .NET内部运行时,它找不到触发器
IF NOT EXISTS (SELECT * FROM sys.triggers WHERE [name] = 'DbTrigAuditHandler_CreateAlterDrop')
BEGIN
DECLARE @sql NVARCHAR(MAX)
SELECT @sql = ' DYNAMIC SQL CREATE TRIGGER '
EXEC sp_executesql @sql
END
结果我得到一个异常,因为该对象已经存在。
我有两个问题。
干杯
答案 0 :(得分:0)
我不知道为什么会这样,但是当我更换我的调用代码时: 从
Database.ExecuteSqlCommand(File.ReadAllText(path));
到
var sql = File.ReadAllText(path);
Database.ExecuteSqlCommand(sql);
代码按预期执行。