2013-05-10 231 views
8

我有一個類用戶角色枚舉的值爲:Employee,Admin等... Dapper引發異常:「System.Enum類型的成員角色不能用作參數值」Dapper是否支持枚舉?

精簡版支持枚舉?

IDbConnection connection 
connection.Execute(sb.ToString(), entityToInsert, /*transaction: transaction*/tx, commandTimeout: commandTimeout); 

回答

8

枚舉的支持,但Enum是不是:對

所以,如果您有:

class User { 
    public MemberRole Role {get;set;} 
} 

那麼就應該做工精細;然而

class User { 
    public Enum Role {get;set;} 
} 

不會。你可能使用後者?

+0

是的,我使用最後一個,但MemberRole應該如何看? MemberRole:枚舉...是? – Sergey 2013-05-10 10:57:34

+0

啊。我明白你的意思了。謝謝你對我有用!你幫了我很多 – Sergey 2013-05-10 10:59:44

+0

@Sergey只是'public enum MemberRole {Employee,Admin,...}'。你應該**從不**通常使用'Enum' - 這實際上是非常低效的。您應該只使用鍵入的枚舉。 – 2013-05-10 10:59:49