C# 发生了一个或多个错误。位于System.Threading.Tasks.Task.ThrowifeException

C# 发生了一个或多个错误。位于System.Threading.Tasks.Task.ThrowifeException,c#,entity-framework,C#,Entity Framework,我有实体框架。 我编写了获取序列的查询。我犯了这个错误。 守则: var rawQuery = _contextORA.Database.SqlQuery<int>("select SEQ_ID.NEXTVAL from dual"); var task = rawQuery.SingleAsync(); int nextVal = task.Result; return nextVal.ToString(); 我能做什么? 在本地计算机上,它为我工作。但当我将其分发到测试服务器时

我有实体框架。 我编写了获取序列的查询。我犯了这个错误。 守则:

var rawQuery = _contextORA.Database.SqlQuery<int>("select SEQ_ID.NEXTVAL from dual");
var task = rawQuery.SingleAsync();
int nextVal = task.Result;
return nextVal.ToString();
我能做什么?
在本地计算机上,它为我工作。但当我将其分发到测试服务器时,它会得到错误。(我在本地和测试中使用相同的DB)

删除不相关的任务/异步信息,集中精力处理
InvalidCastException
。显然结果不是
int
,我会尝试
long
。改为long没有帮助。遇到相同的错误,您需要查找Oracle查询返回的列的类型。尝试
var cn=\u contextORA.Database.Connection;var cmd=cn.CreateCommand();cmd.CommandText=“从双重选择SEQ_ID.NEXTVAL”;cn.Open();var dr=cmd.ExecuteReader();var colType=dr.GetFieldType(0)
并查看
colType
变量的值。
rawQuery.SingleAsync();