StringTemplate无法将LINQ的属性呈现为SQL类

时间:2010-01-21 13:11:17

标签: asp.net linq stringtemplate

我使用vs2008的GUI工具生成一些LINQ to SQL类,我的问题是StringTemplate无法达到那些模型的属性

$persons:{
<li>$it.name$</li>
}$
它打印出来了:

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

名称模型的公共属性。如果我自己创建一个人类,并且相同的属性,StringTemplate可以得到它。

2 个答案:

答案 0 :(得分:1)

设计器根据编译器生成一个普通类,代码只是自动生成。我怀疑你还有其他一些问题 - 也许你没有包含正确的引用/命名空间,或者你有一个命名空间冲突,它选择了错误的类。

答案 1 :(得分:0)

这不是正确的解决方案,但我遇到同样的问题,使用$it._name$对我有用。这是访问私人支持领域,所以不是一个好主意。但是,这意味着StringTemplate可以找到该字段,但不能找到name属性。奇

编辑:

知道了。 StringTemplate假定属性以大写字母开头。因此,如果您的财产被称为Name,那就可行。您可以在StringTemplate的源代码中重命名您的属性或修复有问题的代码 致ASTExpr.cs:RawGetObjectProperty的呼叫GetPropertyValueByName(使用methodSuffix,而非propertyName)。