Tôi đã lưu trữ thủ tục trên sqlserver 2008 và một trong các tham số chấp nhận giá trị null. tôi không biết làm thế nào để gọi SP đó với một giá trị null trên tham số. cho một bối cảnh ít hơn tôi đang sử dụng EntityFramework 6xxThủ tục lưu trữ cuộc gọi với giá trị tham số null bằng EntityFramework
Trong ví dụ tiếp theo, các tham số "@status, @Compatible" có thể có giá trị null, nhưng tôi chỉ nhận được ngoại lệ nói rằng những prarams đó không được cung cấp.
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();
đã trả lời của tôi giải quyết câu hỏi của bạn? Nếu vậy hãy chọn làm câu trả lời. – DeadlyChambers