sqlQuery/Exec に問題があります。私のストアド プロシージャは、エンティティのリストを返します。しかし、パラメータリストを動的に追加する必要があります。
using (MyContext db = new MyContext ())
{
var queryParam = new Dictionary<String, String>();
var arg = String.Empty;
var argList = new List<ObjectParameter>();
var sql = String.Empty;
foreach(var line in param.Split(','))
{
var obj = line.Split(':');
if (obj.Length < 2)
{
continue;
}
if (obj[1].Equals(String.Empty))
{
continue;
}
// arg = arg + "@" + obj[0] + "=" + "'" + obj[1] + "' ";
argList.Add(new ObjectParameter(obj[0], obj[1]));
}
object[] prm = argList.ToArray();
// Stored procedure ausführen und ergebniss erhalten.
var list = db.Database.SqlQuery<Dokument>("EXEC dbo.spDokumente", prm).ToList();
return AppServerHelper.AppResponse(list);
}
実行時に、アプリケーションは、オブジェクト タイプが内部プロバイダーと一致しないことを返します。この問題を解決する手がかりがありません!