使用.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)
答案 0 :(得分:0)
此问题已在新版本(6.1.10-rc)中修复。我知道这是一个预发行版本,但看起来该软件包已不再维护