这可能是一个简单的问题,但我找不到答案。我有一个存储过程,它采用如下的DateTime参数:
ALTER PROCEDURE [dbo].[spGetSchedule]
(
@theDate DATETIME,
@teamId INTEGER
)
...
我试图这样称呼它:
_context.Database.ExecuteSqlCommand("spGetSchedule",
new SqlParameter("theDate", DateTime.Now.Date),
new SqlParameter("teamId", teamId));
我不断收到一条消息,告诉我没有提供参数@theDate。
提前感谢您的帮助。
答案 0 :(得分:1)
名称确实需要包含@。还需要在命令中包含param名称。
_context.Database.ExecuteSqlCommand("spGetSchedule @theDate, @teamId",
new SqlParameter("@theDate", DateTime.Now.Date),
new SqlParameter("@teamId", teamId));
spGetSchedule @theDate, @teamId.