在 EF Code First CTP5 中使用 DbContext.Database.SqlQuery
Entity Framework Code First CTP5 引入了 DbContext.Database.SqlQuery<T>(sql, params)
方法,提供了一種針對資料庫執行原始 SQL 查詢的方式。但是,當嘗試將此方法與具有參數的預存程序一起使用時,開發人員可能會遇到一個異常,指示未提供參數。
解:
要成功地將 DbContext.Database.SqlQuery<T>(sql, params)
與需要參數的預存程序一起使用,必須將參數指定為 SqlParameter
物件。正確的語法是:
context.Database.SqlQuery<我的实体类型>( "我的存储过程名称 @param1, @param2, @param3", new SqlParameter("param1", param1), new SqlParameter("param2", param2), new SqlParameter("param3", param3) );
在此範例中,「我的預存程序名稱」是預存程序的名稱,「param1」、「param2」和「param3」是要傳遞給預存程序中對應參數的值。透過這種方式指定參數,SqlQuery 方法可以正確地將值提供給預存程序以執行。
以上是如何在 EF Code First 中正確使用 DbContext.Database.SqlQuery 與預存程序和參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!