문제

나는 다음 코드를 가지고 있으며 곱슬 괄호와 물건과 관련이 있습니다.

<#@ template language="C#" debug="True" hostspecific="True" #>
<#@ output extension=".cs" #>
<#@ assembly name="System.Data" #>

<#@ assembly name="System.xml" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="System.Data.SqlClient" #>

namespace MyProject.Entities 
{   
    public class     
    {
        <#
        string connectionString = 
            "Server=localhost;Database=GridViewGuy;Trusted_Connection=true"; 
        SqlConnection conn = new SqlConnection(connectionString); 
        conn.Open(); 
        System.Data.DataTable schema = conn.GetSchema("TABLES"); 

        foreach(System.Data.DataRow row in schema.Rows) 
        { 

        #> 

        public class <#= row["TABLE_NAME"].ToString() #>            


        {

        }               

        } 

    }   

}

누구든지 문제를 발견 할 수 있습니까?

도움이 되었습니까?

해결책

컴파일이 아닌 이유는 내부의 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..
}

이것은 당신이 성취하려는 것이 아닐 수도 있습니다.

다른 팁

첫 번째 블록에서 코드 블록을 시작합니다.

            foreach(System.Data.DataRow row in schema.Rows) 
            { 

            #> 

그러나 결코 끝나지 마십시오. 아래 어딘가에 : 이것을 필요로합니다.

            <# } #>

편집하다 - 중첩 클래스 정의 바로 아래에 닫는 곱슬 브레이스 인 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top