Greetings
If you've been looking for a Database Schema API that is a bit more intuitive than the one that ships with Code Smith and one that handles relationships such as 1:1, 1:M, M:1, M:M and recursion and also has a built in expression parser, then do yourself a favour and check this new API out.
As an example of one of the features, if you need to delete all the data from each table in a database (there is a more efficient way to achieve this but it serves as an example), you can write this script:
<%= database.OrderedTables(TableOrderEnum.DeleteOrder).ToString("DELETE FROM $FullName$", "\r\n")%>
There are other Code Smith examples included with the download, which include outputing relationships for tables in a simple manner. If you've found yourself writting a lot of extra code to perform the functions you think the API should be doing for you, then see if this API can save you some of that work. Oh btw its FREE!
You can learn more about this API here:
http://www.dotnetprofessional.com/blog/post/2008/03/Database-Explorer-API-beta-released.aspx