检索User w / Dapper时,自定义ASP.Net Identity UserStore无法从字符串转换为guid

时间:2017-07-26 17:38:04

标签: c# asp.net asp.net-core asp.net-identity dapper

我的User对象的Id属性的c#类型是Guid。在数据库中,Id字段的类型为nvarchar。当dapper从SELECT中的数据库中检索Id并将其设置为User.Id时出现错误:来自&SystemString' System.String'到' System.Guid'

我目前已完成以下工作:
用户类:

public class User : IIdentity
{
    public virtual Guid Id => string.IsNullOrEmpty(this.IdString) ? Guid.Parse(this.IdString) : Guid.NewGuid();
    public virtual string IdString { get; set; }
    public virtual string UserName { get; set; }
    public virtual string Email { get; set; }
    public virtual bool EmailConfirmed { get; set; }
    public virtual String PasswordHash { get; set; }
}

Dapper SELECT:

SELECT Id as IdString FROM User

我想知道是否有更清洁的方法来做到这一点。此外,在这种情况下,Id属性是只读的很好,因为它在保存时总是返回一个新的Guid,或者在检索时返回现有的Guid?

0 个答案:

没有答案