Muh*_*tab 9 c# asp.net sqlclient asp.net-core asp.net-core-3.0
我将我的项目从 ASP.NET Core 2.2 迁移到 ASP.NET Core 3.0。现在我得到了这个例外。在 ASP.NET Core 2.2 中,它使用FromSql(); 现在它正在使用FromSqlRaw(). 我正在使用 Entity Framework Core 调用我的过程。
SqlParameter Username = new SqlParameter
{
ParameterName = "USERNAME",
SqlDbType = SqlDbType.NVarChar,
Value = user.Username,
Direction = ParameterDirection.Input,
Size = 50
};
SqlParameter Password = new SqlParameter
{
ParameterName = "PASSWORD",
SqlDbType = SqlDbType.NVarChar,
Value = user.Password,
Direction = ParameterDirection.Input,
Size = 50
};
SqlParameter msgOut = new SqlParameter
{
ParameterName = "MSG",
SqlDbType = SqlDbType.NVarChar,
Direction = ParameterDirection.Output,
Size = 1000
};
SqlParameter statusOut = new SqlParameter
{
ParameterName = "STATUS",
SqlDbType = SqlDbType.Int,
Direction = ParameterDirection.Output
};
var sql = @"EXEC PRC_USERS_LOGIN
@USERNAME,
@PASSWORD,
@MSG OUT,
@STATUS OUT";
Users resultUser = new Users();
resultUser = ctx.Users.FromSqlRaw(sql, Username, Password, msgOut, statusOut)
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
LRF*_*k01 25
通过将使用 System.Data.SqlClient 更改为使用 Microsoft.Data.SqlClient 来修复
https://github.com/aspnet/EntityFrameworkCore/issues/16812#issuecomment-516013245
Muh*_*tab 24
替换后此代码有效
System.Data.SqlClient.SqlParameter
Run Code Online (Sandbox Code Playgroud)
到
Microsoft.Data.SqlClient.SqlParameter
Run Code Online (Sandbox Code Playgroud)
和
FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
到
ToList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4761 次 |
| 最近记录: |