NpgsqlProvider和ExecuteStoreQuery

时间:2013-08-29 13:02:54

标签: c# entity-framework postgresql npgsql ef-postgresql

使用npgsql提供程序和entityframework我正在尝试编写一个简单的ExecuteStoreQuery,如下所示:

 var result = BusinessContextManager.Instance.ExecuteQuery(x => x.WrappedObjectContext.ExecuteStoreQuery<DataTable>("SELECT 2+2"));

但它失败并显示错误“Field not found”和堆栈跟踪

 at Npgsql.NpgsqlRowDescription.FieldIndex(String fieldName) in ---path\Npgsql\NpgsqlRowDescription.cs:line 204
   at Npgsql.NpgsqlDataReader.GetOrdinal(String Name) in --path\Npgsql2-master\src\Npgsql\NpgsqlDataReader.cs:line 184
   at System.Data.Query.InternalTrees.ColumnMapFactory.TryGetColumnOrdinalFromReader(DbDataReader storeDataReader, String columnName, Int32& ordinal)

谁能告诉我我做错了什么?什么是字段索引,所以... ...

我尝试使用别名选择2 + 2作为结果,但仍然是相同的错误

entiryframework版本 - 5 npgsql版本 - 2.0.12.91

1 个答案:

答案 0 :(得分:1)

在发布问题之后我发现它不能用TElement作为DataTable,所以我创建了自己的类(实体),我回来了,一切正常,但我仍然要问,是不是完成所以它返回一个数据表? (不知道,有些黑客......)