|
|
|
Fluent Nhibernate 2.1.2 + Firebird 2.5.2 Названия колонок и таблиц в кавычках
|
|||
|---|---|---|---|
|
#18+
Есть табл в базе CREATE TABLE TABLETEST ( ID INTEGER NOT NULL, NAME VARCHAR(50), "Address" VARCHAR(100) -- Тестируем заполнение этого поля ); Есть класс public virtual int Id { get; private set; } public public virtual string Name { get; set; } public virtual string Address { get; set; } Есть маппинг для него Id(x => x.Id).Column("ID").GeneratedBy.Sequence("GEN_TABLETEST_ID"); Map(x => x.Name).Length(50).Column("NAME"); Map(x => x.Address).Column("Address").Length(100); При простейшем запросе на сохранение юзера в базу var user = new User{Name = "Alex", Address = "London"}; _userRepository.Save(user); --> session.SaveOrUpdate(user); сразу видно, что хибер не обрамляет кавычками, а фаерберд естественно приводит к uppercase could not insert: [WebDirector.Mappings.User#14][SQL: INSERT INTO tabletest (name, address, id) VALUES (?, ?, ?)] Dynamic SQL Error SQL error code = -206 Column unknown ADDRESS At line 1, column 30 Явное указание имени таблицы в маппинге не помагает (Column("Address")). Есть еще вариант с изм метаданных SchemaMetadataUpdater.QuoteTableAndColumns(cfg);, с этим не разобрался. Менять метаданные не хочеться, так как база уже используеться в другом проекте. Подобный вопрос так и остался без ответа Можно ли както разрулить с помощью подобное? (Conventions, свойство Map.Access в маппинге похоже не помогут). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 17:16 |
|
||
|
Fluent Nhibernate 2.1.2 + Firebird 2.5.2 Названия колонок и таблиц в кавычках
|
|||
|---|---|---|---|
|
#18+
jjjjj1 Можно ли както разрулить с помощью подобное? (Conventions, свойство Map.Access в маппинге похоже не помогут). А обязательно ли, чтобы поле было именно Address? Есть софт, который работает не через хибернэйт? кстати, "\"Address\"" пробовали? Может то, что вы делаете задавая имя поля в БД равным имени поля класса, генерируется и так по умолчанию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2010, 11:58 |
|
||
|
Fluent Nhibernate 2.1.2 + Firebird 2.5.2 Названия колонок и таблиц в кавычках
|
|||
|---|---|---|---|
|
#18+
SADT, Пробовал с разным сочетанием кавычек, не помогло. Сам маппинг файл создается правильно - с помощью PersistenceModel можно сгенерить xml маппинга из стандартного хибернейта, и там пропертя "Address". Дальше полезли бачины с Composite id и log4net Было решено переводить софт и новую админку к нему на MS, благо старый проект просто сервер связи между клиентам, небольшая апликуха. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2010, 19:01 |
|
||
|
|

start [/forum/topic.php?fid=17&gotonew=1&tid=1351351]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
139ms |
get topic data: |
9ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 413ms |

| 0 / 0 |
