問題描述
今天遇到一個神奇的問題,是用Entity Framework在下SQL指令的時候,出現錯誤"SqlParameterCollection only accepts non-null SqlParameter type objects, not String objects"
範例請看下面
範例程式碼
var dateParam = new SqlParameter("@date", yearMonth);
context.Database.ExecuteSqlRaw("UPDATE TABLENAME SET IsDeleted = 1 WHERE LEFT(CONVERT(varchar, Date, 112), 6) = @date",dateParam);
因為實在是看不出來這段語法到底哪裡出了問題,於是向Stackoverflow求救
解決方法
將using System.Data.SqlClient
取代成using Microsoft.Data.SqlClient
問題解決….