这是我想在我的数据库中使用的存储过程:
ALTER PROCEDURE dbo.usp_DeleteExample
@ExampleID int, @LoggedInUserID int, @SessionID int, @AppID smallint
as
Declare @ExampleName varchar(255)
Set @ExampleName = (Select VehicleName from Example where ExampleID = @ExampleID)
Delete from ExampleToGeofence where ExampleID = @ExampleID;
exec usp_DeleteExampleHistoryData @ExampleID;
Delete From Example where ExampleID = @ExampleID;
Insert into UserActionHistory(ActionID, UserID, SessionID, ItemID, OldValue, ApplicationID, EventUTCDate)
Values (203, @LoggedInUserID, @SessionID, @ExampleID, @ExampleName, @AppID, getutcdate());
这是我尝试使用它的代码:
public Example Delete(Example example)
{
db.Examples.SqlQuery("usp_DeleteExample @ExampleID",
new SqlParameter("ExampleID", example.ExampleID)
);
db.SaveChanges();
return example;
}
然而,当我通过我的 WebAPI 调用它时,没有任何内容被删除。
我在这里做错了什么?如果您需要更多信息,请告诉我。
谢谢你。
编辑:
我刚刚添加的模型构建器配置:
modelBuilder.Entity<Example>()
.MapToStoredProcedures(e =>
e.Delete(v => v.HasName("usp_DeleteExample")));