|
FluentNHibernate mapping служебное поле discriminator
|
|||
---|---|---|---|
#18+
Здравствуйте! Прошу вас помогите мне пожалуёста, а то я уже вторую неделю подряд залипаю над этой задачей! Хочу реализовать связку сущностей используя служебное поле discriminator. Ранее, у меня(с помощью добрых людей с форума) получалось это выполнить средствами EF. Вот пример: Код: c# 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.
Но как тоже самое реализовать средствами FluentNHibernate? Вот мои недельные труды, которые не дали желаемого результата. Помогите пожалуйста доработать код, до рабочего состояния, очень вас прошу. Код: c# 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.
Схема ключей ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 09:29 |
|
FluentNHibernate mapping служебное поле discriminator
|
|||
---|---|---|---|
#18+
Nechto, А нафига гробить неделю на кучу таблиц в итоге? Сложный запрос с подзапросами потом как? Если это не препод задал, то сущность это объект Значимый для бизнеса. У вас сущность А важна для бизнеса? ... Как вариант - одна сущность Message. На крайний случай добавить колонку "тип". Imho ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 10:20 |
|
FluentNHibernate mapping служебное поле discriminator
|
|||
---|---|---|---|
#18+
Nechtoсредствами FluentNHibernate?документация. Глава 8. Наследование. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 10:21 |
|
FluentNHibernate mapping служебное поле discriminator
|
|||
---|---|---|---|
#18+
Petro123Nechto, А нафига гробить неделю на кучу таблиц в итоге? Сложный запрос с подзапросами потом как? Если это не препод задал, то сущность это объект Значимый для бизнеса. У вас сущность А важна для бизнеса? ... Как вариант - одна сущность Message. На крайний случай добавить колонку "тип". Imho Я посмотрел главу 8. Да сущности A и B важны для бизнеса. Ну и Message тоже важна для бизнеса. Я вот только не могу уяснить вашу мысль, можете примером показать? Мне нужно из Message видеть сущности, которые с ним связаны (A, B, C и др.) и наоборот. В итоге я могу повесить один Message на A, B и др. сущности важные для бизнеса. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 11:22 |
|
FluentNHibernate mapping служебное поле discriminator
|
|||
---|---|---|---|
#18+
NechtoЯ вот только не могу уяснить вашу мысль, можете примером показать? Одна сущность Message. Код: c# 1. 2. 3.
Всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 11:48 |
|
FluentNHibernate mapping служебное поле discriminator
|
|||
---|---|---|---|
#18+
NechtoМне нужно из Message видеть сущности, которые с ним связаны (A, B, C и др.) и наоборот. В итоге я могу повесить один Message на A, B и др. сущности важные для бизнеса. Зачем одну сущность разбил на три? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 11:51 |
|
FluentNHibernate mapping служебное поле discriminator
|
|||
---|---|---|---|
#18+
Petro123NechtoЯ вот только не могу уяснить вашу мысль, можете примером показать? Одна сущность Message. Код: c# 1. 2. 3.
Всё. Message (Id; TypeEntity; TypeEntityId, ... ) И какие я таким способом смогу реализовать связи, один к одному? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 11:58 |
|
FluentNHibernate mapping служебное поле discriminator
|
|||
---|---|---|---|
#18+
Petro123NechtoМне нужно из Message видеть сущности, которые с ним связаны (A, B, C и др.) и наоборот. В итоге я могу повесить один Message на A, B и др. сущности важные для бизнеса. Зачем одну сущность разбил на три? Ну так они изначально задумывались быть разными Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 12:01 |
|
FluentNHibernate mapping служебное поле discriminator
|
|||
---|---|---|---|
#18+
NechtoИ какие я таким способом смогу реализовать связи, один к одному? Ты бд проектировал когда? Связи один к одному в бд это антипаттерн. Т.е. занафига? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 12:12 |
|
FluentNHibernate mapping служебное поле discriminator
|
|||
---|---|---|---|
#18+
NechtoНу так они изначально задумывались быть разными Ну, сложно сделать много ума не надо. Вместо таблы User делаем базовую Человек Особь потом наследника Он и третью таблу Она. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 12:14 |
|
FluentNHibernate mapping служебное поле discriminator
|
|||
---|---|---|---|
#18+
Petro123NechtoНу так они изначально задумывались быть разными Ну, сложно сделать много ума не надо. Вместо таблы User делаем базовую Человек Особь потом наследника Он и третью таблу Она. Ну и простой ваш вариант не решает моей задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 13:36 |
|
FluentNHibernate mapping служебное поле discriminator
|
|||
---|---|---|---|
#18+
Nechto, Описывай задачу, а не решение от программиста. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 13:45 |
|
FluentNHibernate mapping служебное поле discriminator
|
|||
---|---|---|---|
#18+
Petro123Nechto, Описывай задачу, а не решение от программиста. 1. Создать единый каталог документов с номером, датой создания, имя (это у меня Catalog) 2. Документы могут иметь разную структуру но единый порядковый номер, см. пункт 1. (это у меня A B C ... N) 3. Документы имеют связь между собой определенными событиями(задачами). К примеру: документ(ы) на регистрации, документ(ы) у юристов и др. 4. Документ может иметь одновременно несколько событий 5. Событие должно отображать перечень документов, которые с этим событием связаны. (п.3, п.4 и п.5 это у меня MessageReference MessageA Message B ... MessageN) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 14:16 |
|
FluentNHibernate mapping служебное поле discriminator
|
|||
---|---|---|---|
#18+
Nechto, 1. Убираем пока события и делаем наследование только документов. 2. Делай пример из доки один в один. Т.е. если там не fluent, a xml, то делаем и тестим на xml маппинге. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 14:41 |
|
FluentNHibernate mapping служебное поле discriminator
|
|||
---|---|---|---|
#18+
Petro123Nechto, 1. Убираем пока события и делаем наследование только документов. 2. Делай пример из доки один в один. Т.е. если там не fluent, a xml, то делаем и тестим на xml маппинге. Я пока ещё мало знаком с технологией NHibernate. Я не знаю как делать xml mapping. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 15:32 |
|
|
start [/forum/topic.php?fid=17&msg=39694350&tid=1349169]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 174ms |
0 / 0 |