C# Dapper无法分析列字符串
我有下表C# Dapper无法分析列字符串,c#,sql,.net,sql-server,dapper,C#,Sql,.net,Sql Server,Dapper,我有下表 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) ) 当我尝试以下简洁的代码时,通过
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)
)
当我尝试以下简洁的代码时,通过
用户名:W01,密码=check123
我在分析列0(UserId=W01-String)“”时出错。FormatException:输入字符串的格式不正确
``
请告知。Dapper希望SQL和.NET相同。错误提到UserId,代码示例将参数显示为username(而不是id) 你说‘通过时:用户名:W01’
错误显示为“错误解析列0(UserId=W01-String)”这不是一个以纯文本形式存储密码的真实生产应用程序,对吗?请包含错误堆栈跟踪。@squillman否否。您可以查看以下链接中的示例:请包含
用户
类的定义。可能是从响应中反序列化User.UserId
时出错。
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();
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