【问题标题】:Using Microsoft T4 to create data access classes使用 Microsoft T4 创建数据访问类
【发布时间】:2009-12-02 15:17:56
【问题描述】:

我是 T4 的新手,但我偶然发现了它,它看起来非常有用。

我正在尝试生成一些简单的 DA 类,并且需要一些关于我的代码特定部分的建议。

鉴于我已经有了表名和列名(在本例中是表“Agreements”和列“AgreementId”,我如何生成以下代码,“ ContactId”等)?

if ((ordinal_TableName_ColumnName1 == -1)
|| (ordinal_TableName_ColumnName2 == -1)
|| (ordinal_TableName_ColumnName3 == -1)
|| (ordinal_TableName_ColumnName4 == -1))

// Not interested in below
{
    SetOrdianls(reader);
}

while (reader.HasRows())
{
    returnCollection.Add(new Entity(reader);
}

-1 数字是默认值,也是条件失败的原因。

序数只是引用某些 DataReader 结果中的位置的静态整数值。它们是使用 SetOrdinals(DataReader reader) 方法设置的。

谢谢 安东尼

【问题讨论】:

  • 我认为您没有得到答案,因为您的问题不清楚。在这种情况下,我们不知道 ordinal_etcs 是什么或 -1 是什么意思。也许更多关于你想要做什么而不是代码的细节?
  • 问题不清楚,不够详细
  • 我知道已经晚了,但我已经修改了问题以包含更多信息和描述。

标签: c# visual-studio-2008 t4


【解决方案1】:

想出了答案。

for(int i = 0; i < table.Columns.Count; i++)
{
    Write(string.Format("(ordinal_{0}_{1}.HasValue)", table.Name, table.Columns[i].Name));
    if(i < (table.Columns.Count - 1))
    {
        WriteLine(" ||");
    }
}

谢谢, 蚂蚁

【讨论】:

    猜你喜欢
    • 2017-01-29
    • 1970-01-01
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    • 2015-01-04
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    相关资源
    最近更新 更多