EnterpriseLibrary.Data.NetCore-使用GenericDatabase的连接不支持参数发现

时间:2019-06-26 07:39:33

标签: asp.net-core enterprise-library

使用.Net Core企业库进行数据访问 带有SQL Server 2016的ASP.NET MVC Core 2.2 Web应用程序的EnterpriseLibrary.Data.NetCore 6.0.1313和调用ExecuteSprocAccessor的参数值不起作用。

我正在创建带有.Net Core的企业库的ASP.NET MVC Core 2.2 Web应用程序,以进行数据访问。 EnterpriseLibrary.Data.NetCore 6.0.1313。我想在不定义参数映射而只传递一个值的情况下调用ExecuteSprocAccessor。我写了一个存储过程来调用一个参数,并像这样

在ExecuteSprocAccessor中仅传递一个参数值

sqlDatabase.ExecuteSprocAccessor(“ [app]。[User_SelectByUserName]”,“ johnK”)。FirstOrDefault();

和存储的过程是

ALTER PROC [app]。[User_SelectByUserName]  @UserName NVARCHAR(100)

AS

开始

从[app]中选择。[用户]

END

但是我遇到以下错误。

{System.NotSupportedException:使用GenericDatabase的连接不支持参数发现。您必须明确指定参数,或将连接配置为使用从支持参数发现的数据库派生的类型。    在Microsoft.Practices.EnterpriseLibrary.Data.Sql.SqlDatabase.DeriveParameters(DbCommand DiscoveryCommand)    在Microsoft.Practices.EnterpriseLibrary.Data.Database.DiscoverParameters(DbCommand命令)    在Microsoft.Practices.EnterpriseLibrary.Data.ParameterCache.SetParameters(DbCommand命令,数据库数据库)    在Microsoft.Practices.EnterpriseLibrary.Data.Database.AssignParameters(DbCommand命令,Object [] parameterValues)    在Microsoft.Practices.EnterpriseLibrary.Data.SprocAccessor`1.Execute(Object [] parameterValues)

1 个答案:

答案 0 :(得分:0)

此问题已在新版本(6.1.10-rc)中修复。我知道这是一个预发行版本,但看起来该软件包已不再维护