foreach(Table t in db.Tables)
{
if (! t.IsSystemObject)
{
sb.Append("\t\t\t<rsd:Table Name=\""+t.Name+"\">\r\n");
sb.Append("\t\t\t\t<rsd:Columns>\r\n");
foreach(Column c in t.Columns)
{
sb.Append("\t\t\t\t\t<rsd:Column Name='"+c.Name+"' DataType='"+c.DataType+"' Precision='"+c.Length+"'");
if (c.Nullable)
{
sb.Append(" AllowDBNull='true'");
}
sb.Append("/>\r\n");
foreach(Index i in t.Indexes)
{
if (i.IndexKeyType==IndexKeyType.DriPrimaryKey)
{
sb.Append ("\t\t\t\t\t<rsd:PrimaryKey Name=\""+i.Name+"\">\r\n");
foreach(IndexedColumn ic in i.IndexedColumns)
{
sb.Append("\t\t\t\t\t\t<rsd:ColumnRef Name=\""+ic.Name+"\"/>\r\n");