T4 템플릿을 사용하면 코드를 추출 할 수있는 객체로 데이터베이스를 제공합니까?T4 템플릿을 사용하면 코드를 추출 할 수있는 객체로 데이터베이스가 제공됩니까?
또는 visualt4 도구가 필요합니까? 특히 데이터베이스 메타 데이터에 액세스하기위한 T4 자체에 내장 아무것도 없지만
T4 템플릿을 사용하면 코드를 추출 할 수있는 객체로 데이터베이스를 제공합니까?T4 템플릿을 사용하면 코드를 추출 할 수있는 객체로 데이터베이스가 제공됩니까?
또는 visualt4 도구가 필요합니까? 특히 데이터베이스 메타 데이터에 액세스하기위한 T4 자체에 내장 아무것도 없지만
, 당신은 기존의 .NET API를 사용할 수 있습니다. 특히 SQL Server에서만 작업해야하는 경우 SMO (http://msdn.microsoft.com/en-us/library/ms162169.aspx)를 사용할 수 있습니다.이 SMO는 잘 설계되어 사용하기 쉽습니다. 다음은 예입니다. http://www.olegsych.com/2008/09/t4-tutorial-creatating-your-first-code-generator/. 서버 코드가있는 ASPX 파일로 T4의
올렉
출력을 파일에 쓰고 있습니까? mytable.cs와 같은가요? – mrblah
생각합니다. HTML은 direcly로 렌더링되고 모든 <% %>
코드 블록은 런타임에 실행되고 평가됩니다.
동일한 접근법. <# #>
블록 안에있는 모든 코드는 T4 템플릿 엔진이 템플릿을 실행할 때 실행됩니다. 이 블록 내에서 수행 할 수있는 모든 프레임 워크를 수행 할 수 있습니다. 원하는 경우 데이터베이스 연결을 열고 데이터를 읽고 코드를 생성 할 수 있습니다 (데이터베이스에 연결하여 ASPX 파일의 테이블 데이터에서 HTML을 생성하는 경우와 동일).
...
public enum UserTypeFromDBLookupTable
{
<# while(reader.Read()) { #>
/// <summary><#= reader.Get("Description") #></summary>
<#= reader.Get("Name") #> = <#= reader.Get("UserTypeID") #>,
<# } #>
}
...
을하고 것 출력 일부 룩업 테이블 (*)의 데이터를 기준으로 사용자를 열거 :
그래서 당신은 (이미 열려 DB 판독기가 후)이 작업을 수행 할 수 있습니다. 당신은 당신이 무엇이든간에 무엇이든 할 수 있기 때문에 이것이 매우 강력하고 유연하다는 것을 알 수 있습니다.
코멘트 (*)가 사물이 작동하는 방법을 보여 단순화 있기 때문에
코드 샘플을 직접 작동하지 않습니다. 예를 들어 나는 마지막 쉼표
문제는 명확하지 않다을 제거해야 코드를 생략. T4 템플릿은 특별히 dtbabases와 관련이 없습니다. 물론 ADO.NET을 사용하여 데이터베이스에 연결하고 데이터를 사용하여 출력을 유도 할 수 있습니다. 출력은 항상 텍스트입니다. –