2
我在建築使用EF到Microsoft SQL Server中的WCF服務,但不斷收到以下錯誤的過程:沒有映射從ObjectParameter存在一個已知的託管提供原生型
Additional information: No mapping exists from object type System.Data.Objects.ObjectParameter to a known managed provider native type.
在此查詢:
string ID = "XXID";
string Sql = @"SELECT * FROM @Table WHERE " + ID + " LIKE '@SearchTerm'";
ObjectParameter[] Parameters = new ObjectParameter[2];
Parameters[0] = new ObjectParameter("Table", Table);
Parameters[1] = new ObjectParameter("SearchTerm", SearchTerm);
using (var Context = new XXEntities())
{
Context.Database.Connection.Open();
IEnumerable<string> Query = Context.Database.SqlQuery<string>(Sql, Parameters);
string[] Results = Query.ToArray();
Context.Database.Connection.Close();
return Results;
}
我測試了SQL Server上的查詢,它按預期工作 - 返回匹配的ID的記錄。
謝謝。我將其更改爲SqlParameters,但現在出現以下錯誤:「數據讀取器有多個字段,多個字段對於EDM基元或枚舉類型無效。」 ?? – TheIdiot
看到新的編輯 –
謝謝。我只記得我之前有過新的錯誤,因爲數據與數組不兼容。回到原始錯誤,我可以問一下ObjectParameter和SqlParameter有什麼不同?再次感謝。 – TheIdiot