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?
Schreibe einen Kommentar