使用 Entity Frameworks 6.4 edmx 時突然出現該錯誤訊息
System.ArgumentException: 物件型別 System.Collections.Generic.List`1[[System.Data.SqlClient.SqlParameter, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] 與已知的管理提供者原始型別之間並無對應。
發現是使用 SqlQuery 時,變數參數沒有轉成為 Array 造成,直接把 List 丟進去
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(new SqlParameter());
var result = dbContext.Database.SqlQuery<Entity>(TSQL, parameterList);
把 List 轉為 Array 就 pass 該問題var result = dbContext.Database.SqlQuery<Entity>(TSQL, parameterList.ToArray());
- 參考資料
- StackOverFlow 討論