System.Data.SqliteのExecuteScalar()の返り値

sqlitec#のSystem.Data.Sqliteで検索結果から1つのスカラー値を獲得する時、ExecuteScalar()を使うが、その帰り値Object型をintでキャストするとエラーが出ます。stringからパースしてもだめ。結局longで正解。  
SQLiteConnection conn = new SQLiteConnection(...); 
SQLiteCommand sqCommand conn.CreateCommand();
cmd.CommandText = "SELECT count(name) FROM result;";
// 指定されたキャストは有効ではありません。
int count = (int)cmd.ExecuteScalar();
// OK↓
long count = (long)cmd.ExecuteScalar();