|
|
|
NHibernate помогите с маппингом.
|
|||
|---|---|---|---|
|
#18+
Есть три таблички: MONITORED_OBJECT(ID_OBJECT, ...); DEVICE(ID_DEVICE, IMEI, ...); DEVICE_INSTALL(ID_OBJECT, ID_DEVICE, START_TIME, FINISH_TIME); DEVICE_INSTALL - это табличка истории установки прибора, причем, считается что в данный момент на объект с ID_OBJECT установлен ID_DEVICE если соответствующая строка имеет FINISH_TIME IS NULL. т. е. еще не сняли прибор. Есть два класса public MonitoredObject { public int Id; public Device InstalledDevice; } public Device { public int Id; public string Imei; } как написать маппинг NHibernate чтобы такое замапить? И можно было бы выдергнуть граф MonitoredObject->Device по IMEI (см. таблицу Device). что-то типа var monitoredObject = repository.Get(imei); Куда копать интересуют различные решения. Помогите пож советом. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2010, 20:28 |
|
||
|
NHibernate помогите с маппингом.
|
|||
|---|---|---|---|
|
#18+
уточню, что маппинг нужен только на выборку. ничего сохраняться не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2010, 20:34 |
|
||
|
NHibernate помогите с маппингом.
|
|||
|---|---|---|---|
|
#18+
Lord British, копать отсюда . Попробуйте сами написать маппинг. Коли не получится - кидайте свой маппинг сюда, поправим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2010, 20:48 |
|
||
|
NHibernate помогите с маппингом.
|
|||
|---|---|---|---|
|
#18+
SolYUtor, Код: 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. Что нужно добавить в маппинг для MonitoredObject, чтобы замапить его поле InstalledDevice через табличку DEVICE_INSTALL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2010, 22:02 |
|
||
|
NHibernate помогите с маппингом.
|
|||
|---|---|---|---|
|
#18+
+ DEVICE_INSTALL(ID_OBJECT, ID_DEVICE, START_TIME, FINISH_TIME); DEVICE_INSTALL - это табличка истории установки прибора, причем, считается что в данный момент на объект с ID_OBJECT установлен ID_DEVICE если соответствующая строка имеет FINISH_TIME IS NULL. т. е. еще не сняли прибор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2010, 22:03 |
|
||
|
NHibernate помогите с маппингом.
|
|||
|---|---|---|---|
|
#18+
Насколько я понимаю - у вас простейшие односторонние ассоциации. самый простой способ их замапить - использовать <many-to-one> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 10:01 |
|
||
|
NHibernate помогите с маппингом.
|
|||
|---|---|---|---|
|
#18+
SolYUtor, Каким образом? я не пойму. Как мне использовать связующую таблицу в many-to-one? :) Там есть третья таблица почитайте выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 11:54 |
|
||
|
NHibernate помогите с маппингом.
|
|||
|---|---|---|---|
|
#18+
Lord BritishSolYUtor, Каким образом? я не пойму. Как мне использовать связующую таблицу в many-to-one? :) Там есть третья таблица почитайте выше. Нафига при связи один ко одному "связующая таблица"? Что именно вам не понятно? Английские буквы? Вот тут есть родная речь. И даже в ваших маппингах такие связи есть. По образу и подобию сложно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 14:06 |
|
||
|
NHibernate помогите с маппингом.
|
|||
|---|---|---|---|
|
#18+
SolYUtor, вы предлагаете мне изменить схему? и свести к тем случаям many-to-one что есть в маппинга. связь у меня не 1:1, может быть и 0:0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 15:49 |
|
||
|
NHibernate помогите с маппингом.
|
|||
|---|---|---|---|
|
#18+
Lord British, так вот собственно вопрос. как используя связующую таблицу замапить то что мне нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 15:49 |
|
||
|
NHibernate помогите с маппингом.
|
|||
|---|---|---|---|
|
#18+
Lord British, у меня есть идея добавить в DEVICE FK NULLABLE поле на ID_INSTALLED_OBJECT, а в MONITORED_OBJECT добавить FK NULLABLE ID_INSTALLED_DEVICE. тогда можно будет many-to-one. а DEVICE_INSTALL будет вести историю установок а вот вопрос был при текущей схеме возможно ли one-to-one замапить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 15:55 |
|
||
|
NHibernate помогите с маппингом.
|
|||
|---|---|---|---|
|
#18+
Lord British, хотя нельзя так делать как я написал будет возможна связь (0:1) (1:0) а нужно только так (0:0) ИЛИ (1:1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 16:02 |
|
||
|
NHibernate помогите с маппингом.
|
|||
|---|---|---|---|
|
#18+
Lord British, Чет читал читал, ниче не понял, понял что надо только на селект. Отсюда посоветую, накой вам мап, можно все в классе реализовать при помощи кода, хоть лениво хоть не лениво, или все таки мап? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 21:00 |
|
||
|
NHibernate помогите с маппингом.
|
|||
|---|---|---|---|
|
#18+
Lord British, Из ваших отрывочных данных вообще непонятно, что у вас за схема БД. Собирать по кусочкам схему мне совсем неохота. Хотите красивый ответ - красиво задавайте вопрос, с картинками. P.S. Связь 0-0 особенно порадовала. Ржал от души. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 10:11 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=36716450&tid=1351211]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
92ms |
get topic data: |
15ms |
get forum data: |
5ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 433ms |

| 0 / 0 |
