Использование Microsoft T4 для создания классов доступа к данным - PullRequest
0 голосов
/ 02 декабря 2009

Я новичок в T4, но наткнулся на него, и это выглядит очень полезным.

Я пытаюсь сгенерировать несколько простых классов DA, ​​и мне нужен какой-то совет для конкретной части моего кода.

Как создать следующий код, если у меня уже есть имя таблицы и имена столбцов (в данном случае таблица " Соглашения " и столбцы " 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).

Спасибо Anthony

1 Ответ

0 голосов
/ 02 декабря 2009

разобрался с ответом.

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(" ||");
    }
}

Спасибо, Ant

...