Throw exception if a new table would have no columns

I didn't realize that stored objects needed to have public properties and that fields wouldn't be used. What happens when a table mapping has no qualifying columns is that bad sql is generated and an obscure error is thrown when it's executed.

This PR adds an exception if the SQL will be malformed in this case.