相关疑难解决方法(0)

指定的Cast不是无效的(Enum with int value,Dapper)

我有一个用户角色(简单,第一次切割)实现的类:

class User { 
  public Role Role { get; set; }
  // ...
  public User() { this.Role = Role.Normal; }
  public void Save() { Membership.CreateUser(...) } // System.Web.Security.Membership
} 

enum Role : int {
  Invalid = 0,
  Normal = 1,
  SuperUser = 4096
}
Run Code Online (Sandbox Code Playgroud)

在添加角色之前,一切正常(如果这很重要).

现在,当我尝试获取用户时,此行失败:

toReturn = conn.Query<User>("SELECT TOP 1 * FROM dbo.UserProfile WHERE 1=1");
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪(来自ELMAH):

System.Data.DataException: Error parsing column 2 (Role=1 - Int16) ---> System.InvalidCastException: Specified cast is not valid.
   at Deserialize06df745b-4fad-4d55-aada-632ce72e3607(IDataReader )
   --- End of inner exception …
Run Code Online (Sandbox Code Playgroud)

dapper

3
推荐指数
1
解决办法
2568
查看次数

标签 统计

dapper ×1