Codesmith generates a three-tier data access layer