我的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?