Ich entschuldige mich für die Frage nur eine grundlegende Frage, aber ich kann nicht die Ursache für diesen Fehler finden.EntityFramework Prozedur oder Funktion '' erwartet Parameter '', der nicht geliefert wurde
Ich benutze Entity Framework, um eine Stored Procedure auszuführen, und ich übergebe vier Parameter, aber die SQL-Datenbank scheint sie abzulehnen. Kann mir jemand in die richtige Richtung zeigen?
Mein Code:
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));
, die den Fehler produziert:
Procedure or function 'SearchDirectoryEntries' expects parameter '@DirectoryId', which was not supplied.
Die SQL erzeugt wird:
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
Die gespeicherten Prozeduren ist:
ALTER PROCEDURE [dbo].[SearchDirectoryEntries]
@DirectoryId int,
@Latitude decimal(18, 6),
@Longitude decimal(18, 6),
@Range int
Vielen Dank.
Können Sie die Deklaration Ihrer gespeicherten SQL-Prozedur posten? Bis zu wo sind die Parameter definiert? –
ALTER PROCEDURE [DBO]. [SearchDirectoryEntries] \t @DirectoryId int, \t @Latitude DECIMAL (18, 6), \t @Longitude DECIMAL (18, 6), \t @range int Prost – James
Was sind die Definitionen der 'Suche' und' Punkt'? d. h. Ist 'search.DirectoryId' ein' int'? – ChrisF