2010-01-21 3 views
1

내가 SQL 클래스에 몇 가지 LINQ를 생성 할 VS2008의 GUI 도구를 사용하여 SQL 클래스에 LINQ의 속성을 렌더링 할 수 없습니다, 내 문제는 StringTemplate가 인쇄StringTemplate가

$persons:{ 
<li>$it.name$</li> 
}$ 

그 모델의 특성을 도달 할 수있다 :

<li></li> 
<li></li> 
<li></li> 

이름사람 모델의 공공 재산이다. 내가 개인 클래스를 만들고 동일한 속성을 만들면 StringTemplate이 그것을 얻을 수 있습니다.

답변

1

디자이너가 컴파일러와 관련하여 정상적인 클래스를 생성하면 코드가 자동 생성됩니다. 다른 문제가 있다고 의심됩니다. 올바른 참조/네임 스페이스를 포함하지 않았거나 네임 스페이스 충돌이있어 잘못된 클래스를 선택했습니다.

+0

그가 무엇을 잘못했는지, 나도 잘못하고 있습니다 ... – Greg

0

이것은 올바른 해결책은 아니지만 동일한 문제가 있으며 $it._name$을 사용하면 효과가 있습니다. 이것은 개인용 백업 필드에 액세스하고 있으므로 좋은 생각이 아닙니다. 여전히 StringTemplate이 해당 필드를 찾을 수는 있지만 name 속성은 해당 필드를 찾을 수 없다는 것을 의미합니다. 이상한.

편집 :

알아보기 StringTemplate은 속성이 대문자로 시작한다고 가정합니다. 그래서 당신의 재산이 Name이라면 그것은 효과가있을 것입니다. 속성의 이름을 바꾸거나 (methodSuffix이 아니라 propertyName을 사용)을 호출하여 StringTemplate의 소스 코드 ASTExpr.cs:RawGetObjectProperty에 코드의 문제를 해결할 수 있습니다.