Ich habe eine gespeicherte Prozedur auf SQL Server 2008 und einer der Parameter akzeptiert Nullwerte. Ich weiß nicht, wie ich diesen SP mit einem Null-Wert für den Parameter aufrufen soll. Für ein wenig mehr Kontext verwende ich EntityFramework 6xxGespeicherte Prozedur mit einem Null-Parameterwert mit EntityFramework aufrufen
Auf dem nächsten Beispiel können die Parameter "@status, @Compatible" null als Wert haben, aber ich bekomme nur eine Ausnahme sagen, dass diese Prarams nicht zur Verfügung gestellt wurde.
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();
Haben meine Antwort Ihre Frage lösen? Wenn ja, bitte als Antwort auswählen. – DeadlyChambers