Entity framework core 在EF Core中使用DbParameter w/ExecuteSqlCommand

Entity framework core 在EF Core中使用DbParameter w/ExecuteSqlCommand,entity-framework-core,Entity Framework Core,不幸的是,似乎没有关于ExecuteSqlCommand的任何文档,我只能找到关于ExecuteSqlCommand的文档。我能够使用ExecuteSqlCommand和返回受影响行的命名参数成功调用存储过程 但是,我正在尝试将一个DbParameter的Direction属性更改为ParameterDirection.Output。这似乎不起作用,我也找不到这种用法的例子。我看到的最接近的是EF Core GitHub repo,但没有使用out参数 当然,我可以使用DbCommand来实现这

不幸的是,似乎没有关于ExecuteSqlCommand的任何文档,我只能找到关于ExecuteSqlCommand的文档。我能够使用ExecuteSqlCommand和返回受影响行的命名参数成功调用存储过程

但是,我正在尝试将一个DbParameter的Direction属性更改为ParameterDirection.Output。这似乎不起作用,我也找不到这种用法的例子。我看到的最接近的是EF Core GitHub repo,但没有使用out参数


当然,我可以使用DbCommand来实现这一点,但ExecuteSqlCommand是否只对命名参数使用DbParameter,而忽略方向?如果是这样的话,那么理想情况下应该在某个地方记录这一点-也许可以扩展原始SQL查询文章。

这是一个数据库提供程序特定的问题,因为它不适用于MySQL,但适用于SQL Server。下面是演示如何使用后者的代码:

var outParam = new SqlParameter("@ParamOut", DbType.Int32)
    { Direction = ParameterDirection.Output };

ctx.Database.ExecuteSqlCommand("EXEC dbo.MyTest @ParamOut OUTPUT", outParam);

好的,只需将方向设置为out就可以使用
.FromSql()
。您可能希望显示您正在使用的代码。有一个突出的问题阻止它在MySQL上工作。