C# “EF生成”;不支持指定的方法";SqlQuery中的错误

C# “EF生成”;不支持指定的方法";SqlQuery中的错误,c#,entity-framework-5,C#,Entity Framework 5,我目前正在使用实体框架5 我已尝试编写以下代码: var result = context.Database.SqlQuery<Entity>("SELECT * FROM ref.Entity"); 谁能给我看看这个问题的解决方案吗 堆栈跟踪 “在EFProviderWrapperToolkit.DbConnectionWrapper.CreateDbCommand()\r\n在System.Data.Common.DbConnection.CreateCommand()\r\n

我目前正在使用实体框架5 我已尝试编写以下代码:

var result = context.Database.SqlQuery<Entity>("SELECT * FROM ref.Entity");
谁能给我看看这个问题的解决方案吗

堆栈跟踪

“在EFProviderWrapperToolkit.DbConnectionWrapper.CreateDbCommand()\r\n在System.Data.Common.DbConnection.CreateCommand()\r\n在System.Data.Objects.ObjectContext.CreateStoreCommand(String commandText,Object[]参数)\r\n在System.Data.Objects.ObjectContext.ExecuteStoreQueryInternal[TElement](字符串commandText,字符串entitySetName,MergeOption MergeOption,对象[]参数)\r\n在System.Data.Objects.ObjectContext.ExecuteStoreQuery[TElement](字符串commandText,对象[]参数)\r\n在System.Data.Entity.InternalContext.ExecuteSqlQuery[TElement](字符串sql,对象[]参数)\r\n位于System.Data.Entity.Internal.InternalContext.ExecuteSqlQueryAsIEnumerable[TElement](字符串sql,对象[]参数)\r\n位于System.Data.Entity.Internal.InternalContext.ExecuteSqlQuery(类型elementType,字符串sql,对象[]参数)\r\n位于System.Data.Entity.Internal.InternalSqlNonSetQuery.GetEnumerator()\r\n位于System.Data.Entity.Internal.InternalSqlQuery
1.GetEnumerator()\r\n位于System.Linq.SystemCore\u EnumerableDebugView
1.get\u Items()


答案很简单。我不确定您是否拥有EFProviderWrapperToolkit的源代码,您应该获取它并查看一下。您会注意到,DbConnectionWrapper继承自DbConnection,它覆盖CreateDbCommand方法,但不为其提供任何功能,而是引发和异常

/// <summary>
        /// Creates and returns a <see cref="T:System.Data.Common.DbCommand"/> object associated with the current connection.
        /// </summary>
        /// <returns>
        /// A <see cref="T:System.Data.Common.DbCommand"/> object.
        /// </returns>
        protected override DbCommand CreateDbCommand()
        {
            throw new NotSupportedException();
        }
//
///创建并返回与当前连接关联的对象。
/// 
/// 
///物体。
/// 
受保护的覆盖DbCommand CreateDbCommand()
{
抛出新的NotSupportedException();
}
这在codeplex“社区实体框架提供商包装器”的“已知问题”部分提到。引用:

不支持使用ObjectContext.ExecuteStoreCommand或ObjectContext.ExecuteStoreQuery等方法直接执行存储命令。但是,您可以使用以下代码从数据库连接创建DbCommand:

    using EFProviderWrapperToolkit;
    ...
    context.Connection.GetStoreConnection().CreateCommand()

ref将是未定义的…SQL不知道如何处理它?不理解您的注释,ExecuteSqlCommand()还返回System.NotSupportedException您可以发布异常堆栈tracefalls EFProviderWrapperToolkit。问题已解决
    using EFProviderWrapperToolkit;
    ...
    context.Connection.GetStoreConnection().CreateCommand()