我很抱歉只問一個基本問題,但我找不到這個錯誤的原因。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