Rufen Sie die Gespeicherte Prozedur mit einem null-Parameterwert mit EntityFramework
ich habe eine gespeicherte Prozedur auf SQL Server 2008 und einer der Parameter null-Werte annehmen. ich weiß nicht, wie zu nennen, dass die SP mit einem null-Wert auf den parameter. für ein wenig mehr Kontext ich bin mit EntityFramework 6xx
Auf dem nächsten Beispiel wird der Parameter "@status, @ - Kompatibel" können null als Wert, aber bin ich auch einfach nur eine Ausnahme, die sagen, dass diese prarams war nicht vorgesehen.
public override IList<MyOutputType> SearchStuff(string Term, int? status, bool? Compatible, long TMPLDMID, int RangeFrom, int RangeTo)
{
List<SqlParameter> par = new List<SqlParameter>();
par.Add(new SqlParameter("@Term", System.Data.SqlDbType.VarChar, 50) { Value = "%" + Term + "%" });
par.Add(new SqlParameter("@status", System.Data.SqlDbType.Int) { Value = status, IsNullable = true });
par.Add(new SqlParameter("@Compatible", Compatible) { IsNullable = true });
par.Add(new SqlParameter("@TMPLDMID", TMPLDMID));
par.Add(new SqlParameter("@RangeFrom", RangeFrom));
par.Add(new SqlParameter("@RangeTo", RangeTo));
return db.Database.SqlQuery<MyOutputType>(
"EXEC [spSearchForStuff] @Term, @status, @Compatible, @TMPLDMID, @RangeFrom, @RangeTo", par.ToArray()
).ToList();
- Halten Sie die Antwort unter eine akzeptierte Antwort?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich lief in das gleiche Problem. Wenn die Werte wurden durch null-es wäre Standard laden. Was ich tatsächlich benötigt, eine null, also für den status, den Sie sollten in der Lage sein zu tun unten.
überprüfen Sie diese Antwort für weitere ausführliche Beispiele https://stackoverflow.com/a/4556007/1248536