PostrgreSQL+T4. bug/partialy fixed
От: emanov Россия http://alexeiemanov.moikgrug.ru
Дата: 02.05.11 19:21
Оценка:
Всем привет!

Попробовал использовать BLT с PostgreSQL через сгенеренные T4 классы.
Основных проблем на данный момент две:
1)При использовании схем объектов (обращение к объекту "schemaName"."TableName") PostgreSQL.ttinclude неправильно определяет схему. Вместо имени схемы он вставляет owner'а. По этому случаю нужно сделать патч на PostgreSQL.ttinclude
http://emanovs.narod.ru/PostgreSQL.ttinclude
К сожалению приложить файл не получилось, так как при загрузке файла выдается Access denied (пользуюсь FF4).
Кстати, непонятно,почему используется связка OwnerName.TableName? Ноги растут из SQL2000?

2) Для PostgreSQL важно, чтобы в случае имен с разным регистром использовались кавычки, в патче для этого есть решение. Получаются классы вида
[TableName(Owner = "\"main\"", Name = "\"Track\"")]
public partial class Track
{
[MapField("\"Id\""), Identity, PrimaryKey(1), Required] public Int64 Id { get; set; } // bigint
[MapField("\"Uid\""), Required] public Guid Uid { get; set; } // uuid
[MapField("\"MemberId\""), Required] public Int64 MemberId { get; set; } // bigint
}
Но появляется проблема, которую я пока не знаю как решить: Возвращаемые данные при таком подходе с колонками:
Id, Uid, MemberId
не могут замапиться на колонки
"Id", "Uid", "MemberId"

Как красивей обойти проблему?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.