added code first support for complex non-table types