星期一, 4月 22, 2024

[EF] 物件型別與已知的管理提供者原始型別之間並無對應

使用 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());

沒有留言:

張貼留言