Dapper 无法解析列字符串
Dapper Not able to parse column String
我有以下table
create table tblWorkers
(
Id int identity,
WorkerId nvarchar(8),
Username NVARCHAR(50) not null,
Password NVARCHAR(12) not null,
Token NVARCHAR(max) null,
CONSTRAINT PK_WorkerId PRIMARY KEY (WorkerId)
)
当我尝试以下 Dapper 代码时,通过传递
Username:W01,密码=check123
我收到一个错误,解析第 0 列时出错(UserId=W01 - 字符串)'。FormatException:输入字符串的格式不正确。
``
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@userName", loginModel.Username, DbType.String);
parameters.Add("@password", loginModel.Password, DbType.String);
using (IDbConnection con = _connectionManager.GetConnection())
{
con.Open();
var result = con.Query<User>(StoredProcedures.uspAuthenticate, param: parameters, commandType: CommandType.StoredProcedure);
return result.FirstOrDefault();
``
StoredProcedure如下。
CREATE PROCEDURE [dbo].[uspAuthenticate]
@userName nvarchar(8),
@password nvarchar(12)
AS
BEGIN
SET NOCOUNT ON;
select WorkerId
from tblWorkers
where Username = @username and Password = @password
END
请指教
Dapper 期望 SQL 和 .NET 相同。错误提到 UserId,代码示例将参数显示为用户名(而非 ID)。
你说'when passing: Username:W01'
错误显示 'Error parsing column 0 (UserId=W01 - String)'
我有以下table
create table tblWorkers
(
Id int identity,
WorkerId nvarchar(8),
Username NVARCHAR(50) not null,
Password NVARCHAR(12) not null,
Token NVARCHAR(max) null,
CONSTRAINT PK_WorkerId PRIMARY KEY (WorkerId)
)
当我尝试以下 Dapper 代码时,通过传递 Username:W01,密码=check123 我收到一个错误,解析第 0 列时出错(UserId=W01 - 字符串)'。FormatException:输入字符串的格式不正确。
``
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@userName", loginModel.Username, DbType.String);
parameters.Add("@password", loginModel.Password, DbType.String);
using (IDbConnection con = _connectionManager.GetConnection())
{
con.Open();
var result = con.Query<User>(StoredProcedures.uspAuthenticate, param: parameters, commandType: CommandType.StoredProcedure);
return result.FirstOrDefault();
`` StoredProcedure如下。
CREATE PROCEDURE [dbo].[uspAuthenticate]
@userName nvarchar(8),
@password nvarchar(12)
AS
BEGIN
SET NOCOUNT ON;
select WorkerId
from tblWorkers
where Username = @username and Password = @password
END
请指教
Dapper 期望 SQL 和 .NET 相同。错误提到 UserId,代码示例将参数显示为用户名(而非 ID)。
你说'when passing: Username:W01' 错误显示 'Error parsing column 0 (UserId=W01 - String)'