Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Проблема такая. В Cache созданы три класса: Класс Contract: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Класс ContractClient Код: plaintext 1. 2. 3. 4. 5. 6. Класс Client содержит список ссылок на объекты класса ContractClient. Класс ContractClient наследуется от класса Contract. В базе есть записи о клиентах. В записях о клиентах есть списки ссылок на договора (класса ContractClient). Далее в коде на С#, я пытаюсь получить список клиентов: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Список listOfContractClient заполняется, но почему-то пустыми объектами, без полей и значений. Если же класс Contract сделать %SerialObject, а не %Persistent, то список заполняется как надо. Проблема в том, что класс Contract должен быть именно %Persistent. Собственно, вопрос. Почему список заполняется пустыми значениями и можно ли как-то получать нормальные значения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2010, 07:29 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Vixler , не нужно так слепо верить в "наследование"... Тем паче классов %Persistent. Просто сделай еще один класс с пресловутыми приложениями к договору (тоже %Persistent) и будет тебе счастие... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2010, 08:45 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2010, 08:46 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Ну а всё-таки, почему оно не работает? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2010, 08:56 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Я не специалист С#, но в вашем примере классы примере настораживает эта строчка Class Client Extends Reference [ ClassType = persistent, ProcedureBlock ] непонятно, что это за класс, и является ли он хранимым. Указание ClassType недостаточно, попробуйте Class Client Extends (Reference,%Persistent) [ ClassType = persistent, ProcedureBlock ] либо Class Client Extends (%Persistent,Reference) [ ClassType = persistent, ProcedureBlock ] Результат, кстати, будет разный. Кроме того, приведены не все классы, да и само проектирование какое-то странное, такое ощущение, что вы привели классы или разных реализаций. Например, у вас есть класс ContractClient, который судя по названию, содержит связи от контракта к клиенты, но тут же, в классе клиент они лежат в виде массива. Не лучше ли в классе клиент держать массив стразу контрактов, либо держать отдельно класс контракт-клиент, а в классе клиент сделать Relationship? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2010, 09:10 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.держать отдельно класс контракт-клиент, а в классе клиент сделать Relationship? Придерживаюсь такого же мнения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2010, 10:39 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
VixlerНу а всё-таки, почему оно не работает? ) - Доктор, когда я делаю вот так (сгибается в немыслимую позу), у меня почему-то сильно болит вот здесь... - Не делайте так. (с) Vixler , не используй вообще всякие там свойства-массивы или свойства-коллекции... Потом меньше гемора будет в работе. Используй стандартные классы. Как вариант можно еще использовать связи (Relationship), они пока себя ни чем не дискредитировали... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2010, 10:43 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Vixler , как вариант... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2010, 10:53 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Здесь мы видим два фундаментальных недостатка Cache: 1) метаданные приходится хранить в приложении; это прошлый век, мягко говоря:) 2) отсутствие связей; это позапрошлый век:) Если бы связи поддерживались, то этот пример выглядел бы, примерно, так (первый недостаток сохраняется): Class tmp.Contract Extends %Persistent { Property dgNum As %String; Property dgBeg As %Date; Property dgEnd As %Date; } Class tmp.Client Extends %Persistent { Property Name As %String; } Relationship Client -> Contract ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2010, 15:32 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Я кричал: - Вы что там, обалдели? Уронили шахматный престиж. А мне сказали в нашем спортотделе: - Вот прекрасно, ты и защитишь. (с) из песни В.Высоцкого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2010, 17:57 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
krvsaЯ кричал: - Вы что там, обалдели? Уронили шахматный престиж. А мне сказали в нашем спортотделе: - Вот прекрасно, ты и защитишь. (с) из песни В.Высоцкого Это не фундаментальные ошибки, а так, мелкая неточность. Таких строк нет ни в одном варианте:) При таких словах в первых трех строках последняя звучит так: "Вот прекрасно - ты и полетишь!" Но с песнями, все-таки, получше, чем со связями получается:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2010, 23:15 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Бредятина , цитату песни я взял с сайта... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2010, 09:55 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
krvsa Бредятина , цитату песни я взял с сайта... Я и говорю - мелочь... На этом сайте все намного хуже:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2010, 10:07 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Бредятинаkrvsa Бредятина , цитату песни я взял с сайта... Я и говорю - мелочь... На этом сайте все намного хуже:) http://www.youtube.com/watch?v=WvI0NmLmP-4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2010, 11:28 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
ser_shu, А вот у Вас ошибок уже больше:) Вместо "Уронили шахматный престиж" - "Что же вы, уронили шахматный престиж". Вместо "Вот прекрасно..." - "Вот, говорят, прекрасно...". Да, в этом варианте именно "защитишь". Все очень и очень однозначно:) Может лучше, все-таки, проблемы Cache понять? Тем более, что они тоже весьма однозначные:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2010, 11:52 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Бредятинаser_shu, А вот у Вас ошибок уже больше:) Вместо "Уронили шахматный престиж" - "Что же вы, уронили шахматный престиж". Вместо "Вот прекрасно..." - "Вот, говорят, прекрасно...". Да, в этом варианте именно "защитишь". Все очень и очень однозначно:) Может лучше, все-таки, проблемы Cache понять? Тем более, что они тоже весьма однозначные:) Думаю, автор бы обалдел и посмеялся над такой однозначной защитой... И спел бы еще варианты под настроение... В Cache тоже варианты, можно развивать... неоднозначно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2010, 12:10 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
ser_shuБредятинаser_shu, А вот у Вас ошибок уже больше:) Вместо "Уронили шахматный престиж" - "Что же вы, уронили шахматный престиж". Вместо "Вот прекрасно..." - "Вот, говорят, прекрасно...". Да, в этом варианте именно "защитишь". Все очень и очень однозначно:) Может лучше, все-таки, проблемы Cache понять? Тем более, что они тоже весьма однозначные:) Думаю, автор бы обалдел и посмеялся над такой однозначной защитой... И спел бы еще варианты под настроение... В Cache тоже варианты, можно развивать... неоднозначно Может и спел бы... Но не спел:( Точность важна при обсуждении технических проблем - вот что я хотел продемонстрировать своей "придиркой":) Какие еще варианты, если связи принципиально не поддерживаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2010, 12:14 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
БредятинаНо не спел:( Тоже ошибочка... Он не споёт. А пел он таки по-разному. Прямой однозначности искать не стоит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2010, 15:47 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
krvsaБредятинаНо не спел:( Тоже ошибочка... Он не споёт. А пел он таки по-разному. Прямой однозначности искать не стоит... Нет ошибочки. Не спел. А пел именно по-разному. Но то, что Вы написали фактами не подтверждено:) Именно об этом я Вам конкретно и написал:) Если Вам это действительно интересно (то, что базы данных здесь никому не интересныь - это понятно), то можете, например, посмотреть http://vysotskiy.lit-info.ru/vysotskiy/stihi-varianty/229.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2010, 15:57 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Vixler, В следующем коде listOfContractClient у меня заполняется корректно: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2010, 17:43 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=36968073&tid=1557907]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
| others: | 261ms |
| total: | 456ms |

| 0 / 0 |
