@SuppressWarnings("unchecked")
	public <T> int dropView(Class<? extends T> modelClass) {
		TableDefinition<T> def = (TableDefinition<T>) define(modelClass);
		SQLStatement stat = new SQLStatement(this);
		getDialect().prepareDropView(stat, def);
		IciqlLogger.drop(stat.getSQL());
		int rc = 0;
		try {
			rc = stat.executeUpdate();
		} catch (IciqlException e) {
			if (e.getIciqlCode() != IciqlException.CODE_OBJECT_NOT_FOUND) {
				throw e;
			}
		}
		// remove this model class from the table definition cache
		classMap.remove(modelClass);
		// remove this model class from the upgrade checked cache
		upgradeChecked.remove(modelClass);
		return rc;
	}