|
|
|
NHibernate SaveOrUpdate
|
|||
|---|---|---|---|
|
#18+
Всем привет. Хочу заставить работать SaveOrUpdate Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. При несуществующем дб Инзерт, а идет опять апдейт. Все правильно - хибернейт не знает, что это новый объект. Как ему это сообщить? http://devlicio.us/blogs/mike_nichols/archive/2008/07/29/when-flushing-goes-bad-assigned-ids-in-nhibernate.aspx Шаманство с тегом version, который нигде толком не описан. Может кто сталкивался с версионированием? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2010, 11:05 |
|
||
|
NHibernate SaveOrUpdate
|
|||
|---|---|---|---|
|
#18+
Вроде как если хардкодно проставлять ID, то оно работать не будет. Нужен IDENTITY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2010, 11:25 |
|
||
|
NHibernate SaveOrUpdate
|
|||
|---|---|---|---|
|
#18+
https://www.hibernate.org/hib_docs/nhibernate/html/manipulatingdata.html Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2010, 11:28 |
|
||
|
NHibernate SaveOrUpdate
|
|||
|---|---|---|---|
|
#18+
МСУ, он с null id инзертит все ОК) Я же хочу, что если не найдено - то вставь, если найдено то апдейт. upsert и тут либо вариант: Get()? Insert(): Update() Либо SP :( [скока подобного написано умотаться - хочется уходить] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2010, 12:51 |
|
||
|
NHibernate SaveOrUpdate
|
|||
|---|---|---|---|
|
#18+
Жаль, что ORM так обезличивает БД У MySQL в арсенале есть мощные: INSERT ... ON DUPLICATE KEY UPDATE INSERT IGNORE Есть быстрые вставки Isert into(f1,f2..) values(v1,v2), (v3,v4) Load In File От меня всю эту пакетную обработку забирают, предлагая медленные методы. Пусть дадут мне расширение, с которым я смогу взять все от бд(отказавшись от миграций), а не только ansi sql. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2010, 13:02 |
|
||
|
NHibernate SaveOrUpdate
|
|||
|---|---|---|---|
|
#18+
Что-то много слов... HugGet()? Insert(): Update() Так и делайте. В чём сложность-то? P.S. А с SaveOrUpdate разберитесь и отпишитесь, тоже интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2010, 13:10 |
|
||
|
NHibernate SaveOrUpdate
|
|||
|---|---|---|---|
|
#18+
Разобрался. С моим сценарием это не получится. Надо id генерировать на клиенте и использовать версионное поле PS МСУ, спасибо еще раз за ту тему. Увлекся Вашими постулатами. Начитался книг по DDD,TDD. Тперь мои *.Core.dll участвую во всех солюшнах, начиная от винформ, заканчивая цепочками wcf. Все везде работает, репозитории тестируются, hql пишется. Вообщем скил и культура кодинга поднялись на уровень. Перечитал классику [Гамму, Фаулера(арх), design patterns c#, нового Рихтера]. Выбил ЗП больше:D. Спасибо!!! Жду очередного архитектурного затыка, чтобы посовещаться с Вами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2010, 19:52 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=36518510&tid=1351419]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
150ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 447ms |

| 0 / 0 |
