使用Entity Framework 6中的DateTime参数调用存储过程

时间:2014-12-21 18:39:20

标签: c# sql-server

这可能是一个简单的问题,但我找不到答案。我有一个存储过程,它采用如下的DateTime参数:

ALTER PROCEDURE [dbo].[spGetSchedule]
(
    @theDate DATETIME,
    @teamId INTEGER
)
...

我试图这样称呼它:

_context.Database.ExecuteSqlCommand("spGetSchedule",
    new SqlParameter("theDate", DateTime.Now.Date),
    new SqlParameter("teamId", teamId));

我不断收到一条消息,告诉我没有提供参数@theDate。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

名称确实需要包含@。还需要在命令中包含param名称。

_context.Database.ExecuteSqlCommand("spGetSchedule @theDate, @teamId",
    new SqlParameter("@theDate", DateTime.Now.Date),
    new SqlParameter("@teamId", teamId));
    spGetSchedule @theDate, @teamId.