|
|
|
NHibernate-2.1.2.GA && Master-Detail
|
|||
|---|---|---|---|
|
#18+
code Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. TableMaster.hbm.xml Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. TableDetail.xbm.xml Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. DDL Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. Типо все растолкалось и работает, но вот после сохранения, согласно m.Show(), TableDetail.MasterId == 0 ??? Ж8-/ По идее ж должно было "откаскадироваться" с TableMaster. Или это так должно быть? Или что-то еще нужно покрутить/подкрутить/пнуть? _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 18:55 |
|
||
|
NHibernate-2.1.2.GA && Master-Detail
|
|||
|---|---|---|---|
|
#18+
Чтобы это сделать, нужно обращаться через родителя: Код: plaintext У Вас же в маппинге написано: Код: plaintext вот и обращайтесь через этот Master. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 10:44 |
|
||
|
NHibernate-2.1.2.GA && Master-Detail
|
|||
|---|---|---|---|
|
#18+
И еще вопрос, накой Вам Iesi коллекции? Чем не устроил <bag>? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. P.S. Оформление мапа хреновенькое, без обид :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 10:53 |
|
||
|
NHibernate-2.1.2.GA && Master-Detail
|
|||
|---|---|---|---|
|
#18+
МСУЧтобы это сделать, нужно обращаться через родителя Вопрос не в этом. Вопрос в том: должен ли хибер после получения Id для TableMaster из БД рихтовать и MasterId в TableDetail ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 10:54 |
|
||
|
NHibernate-2.1.2.GA && Master-Detail
|
|||
|---|---|---|---|
|
#18+
Ex_SoftВопрос в том: должен ли хибер после получения Id для TableMaster из БД рихтовать и MasterId в TableDetail ? Вы сами можете ответить на этот вопрос. Хиб должен только то "рихтовать", чот у него написано в мапе. В мапе у Вас написано дословно: "Все many-to-one телодвижения - через class="TableMaster"" Всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 10:56 |
|
||
|
NHibernate-2.1.2.GA && Master-Detail
|
|||
|---|---|---|---|
|
#18+
МСУИ еще вопрос, накой Вам Iesi коллекции? Чем не устроил <bag>? Вы думаете я знаю, что это такое? Досталось в наследство приложение с хибером (о коем я вообще ни сном, ни духом до сего момента). Вот и разбираюсь для начала с самим хибером методом научного тыка на HeloWord'ной дрозофилке. Че в exception'ах пишет - то и подрубаю. Захотело Iesi - на тебе Iesi (мне не жалко) МСУP.S. Оформление мапа хреновенькое Вот как-раз и хотел спросить: как по-людськи нуна эти две мои таблице на хибере оформить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 11:03 |
|
||
|
NHibernate-2.1.2.GA && Master-Detail
|
|||
|---|---|---|---|
|
#18+
Ex_SoftВот как-раз и хотел спросить: как по-людськи нуна эти две мои таблице на хибере оформить? Вот Вам классика Product vs Category на репозитории :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 11:07 |
|
||
|
NHibernate-2.1.2.GA && Master-Detail
|
|||
|---|---|---|---|
|
#18+
МСУВ мапе у Вас написано дословно: "Все many-to-one телодвижения - через class="TableMaster"" /me думает: гм... Тогда, насколько я понял, нужно сделать одно из двух: 1. Подправить map, чтобы хибер узнал о моей хотелке и сделал все сам (и это, IMHO, правильнее). || 2. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 11:11 |
|
||
|
NHibernate-2.1.2.GA && Master-Detail
|
|||
|---|---|---|---|
|
#18+
Ex_SoftТогда, насколько я понял, нужно сделать одно из двух Ничего не нужно делать, почитайте про реализацию, которую я привёл. P.S. К детям обращаться через IList родителя, хиб будет генерить ленивый подзапрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 11:18 |
|
||
|
NHibernate-2.1.2.GA && Master-Detail
|
|||
|---|---|---|---|
|
#18+
Наконец-то снова руки дошли до дрозофилки: Master.cs Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. Master.hbm.xml Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Detail.cs Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. Detail.hbm.xml Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. и на Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Exception NHibernate.Exceptions.GenericADOException: could not delete collection: [TestV.Master.Details#27] [SQL: UPDATE TableDetail SET MasterId = null WHERE MasterId = @p0] ---> System.Data.SqlClient.SqlException: Cannot insert the value NULL into column 'MasterId', table 'testdb.dbo.TableDetail'; column does not allow nulls. UPDATE fails. Шо ж оно такое неразумное NULL пихает-то? Я, конечно, понимаю, что сие делается для того, чтобы в начале грохнуть запись в Master'е, а потом пробежаться по Detail. Но можно ли сказать какое-то заветное слово, чтобы оно в начале грохало в Detail'е, а потом в Master'е? В общем: что нужно прикрутить/покрутить/пнуть чтобы еще и удаление зафунциклировало? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2010, 11:44 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=36549902&tid=1351344]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
199ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 536ms |

| 0 / 0 |
