Причина, по которой он не компилируется, заключается в том, что у вас нет соответствующей закрывающей скобки для блока foreach внутри тегов <# #>
. Вам необходимо внести следующее изменение:
foreach(System.Data.DataRow row in schema.Rows)
{
#>
public class <#= row["TABLE_NAME"].ToString()#>
{
}
<#
} //this was missing.
#>
Кроме того, имейте в виду, что ваш код создаст класс без имени, за которым следует список вложенных классов с именами ваших таблиц. Как это:
public class
{
public class Table1
{
}
public class Table2
{
}
//... and so on..
}
Возможно, это не то, чего вы пытаетесь достичь.