【发布时间】:2009-08-22 06:53:02
【问题描述】:
我有一个旧数据库,其列名如“void”。我还有几个 Microsoft SSIS 日志数据库。那些有像“事件”和“操作员”这样的列名。看起来我们需要尽早在 Settings.ttinclude 模板中的列上设置 CleanName,但我不太确定解决此问题的最佳方法,因为保留字列表可能会很长。这应该是一个单独的包含吗?我很乐意做出贡献,但我想先从你们聪明的人那里得到一些设计意见。
【问题讨论】:
我有一个旧数据库,其列名如“void”。我还有几个 Microsoft SSIS 日志数据库。那些有像“事件”和“操作员”这样的列名。看起来我们需要尽早在 Settings.ttinclude 模板中的列上设置 CleanName,但我不太确定解决此问题的最佳方法,因为保留字列表可能会很长。这应该是一个单独的包含吗?我很乐意做出贡献,但我想先从你们聪明的人那里得到一些设计意见。
【问题讨论】:
c# 中的保留字可以在代码中处理,方法是在它们前面加上“@”符号。例如,
public void Test(int if)
{
}
由于编译器错误而失败,但是
public void Test(int @if)
{
var something = @if;
}
很好。这也适用于属性名称。您可能可以升级您的 T4 模板以检查保留字列表,如果匹配,请在名称前添加“@”符号。
至于将其添加到 Subsonic 中的最佳方式,我必须做更多的挖掘工作。
【讨论】: