我很抱歉只问一个基本问题,但我找不到这个错误的原因。EntityFramework过程或函数''期望参数'',这是不提供
我正在使用实体框架来执行存储过程,并传入四个参数,但SQL数据库似乎拒绝它们。任何人都可以将我指向正确的方向吗?
我的代码:
ObjectResult<SearchDirectoryItem> resultList = container.ExecuteStoreQuery<SearchDirectoryItem>("SearchDirectoryEntries",
new SqlParameter("@DirectoryId", search.DirectoryId),
new SqlParameter("@Latitude", point.Latitude),
new SqlParameter("@Longitude", point.Longitude),
new SqlParameter("@Range", search.RangeMiles));
它产生错误:
Procedure or function 'SearchDirectoryEntries' expects parameter '@DirectoryId', which was not supplied.
生成的SQL是:
exec sp_executesql N'SearchDirectoryEntries',N'@DirectoryId int,@Latitude decimal(7,5),@Longitude decimal(6,5),@Range int',@DirectoryId=3,@Latitude=53.36993,@Longitude=-2.37013,@Range=10
存储过程是:
ALTER PROCEDURE [dbo].[SearchDirectoryEntries]
@DirectoryId int,
@Latitude decimal(18, 6),
@Longitude decimal(18, 6),
@Range int
非常感谢。
你可以发布你的SQL存储过程的声明吗?直到参数定义的地方? – 2010-03-22 15:51:04
ALTER PROCEDURE [DBO]。[SearchDirectoryEntries] \t @DirectoryId INT, \t @Latitude十进制(18,6), \t @Longitude十进制(18,6), \t @range诠释 干杯 – James 2010-03-22 16:01:53
哪些“搜索”和“点”的定义?即'search.DirectoryId'和'int'? – ChrisF 2010-03-22 16:06:39