Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 271

Буду рад пообщаться со специалистом по XAF

27.11.2018, 15:57. Показов 2041. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Изучаю этот фреймворк и нужен наставник.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.11.2018, 15:57
Ответы с готовыми решениями:

Буду рад критике
Буду рад критике по качеству оптимизации: http://antaresk.ru/

Буду рад советам и наставлений
Была поставлена задача Сделать поле ХодРаботы и Прикрепить к нему Поле Выбора в какой я указал 3 Варианта(Принял,В Работе,Выполнено..) ...

Подскажите, буду очень рад
Всём доброго дня, ночи. У меня проблема с windows 10. Ил эи с телефоном , или оператор жук. Я через телефон установил на...

33
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 271
29.11.2018, 15:33  [ТС]
Студворк — интернет-сервис помощи студентам
Там скрины в папке ligt shots, там скрины, и вы поймете что я хочу
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,236
29.11.2018, 16:44
Вот так выглядит база:
Миниатюры
Буду рад пообщаться со специалистом по XAF  
Вложения
Тип файла: rar Solution13-modified.rar (1.73 Мб, 13 просмотров)
0
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 271
29.11.2018, 16:45  [ТС]
ок спасибо посмотрю
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,236
29.11.2018, 16:45
Ай, сек, скрины то не смотрел.
0
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 271
29.11.2018, 16:46  [ТС]
Да посмотрите
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,236
29.11.2018, 16:59
Так ничего и не понял, зачем автоматически добавлять связь из сводной таблицы (join-объект), если вы добавляете в текущий метод новый тест?
Соответственно в join-таблице будет создана создана новая запись при сохранении, и никак нельзя повторно использовать уже существующие, так как это просто ключи.
0
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 271
29.11.2018, 17:00  [ТС]
посмотрю ваш пример разберусь
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,236
29.11.2018, 17:29
Вообще можно восползоваться атрибутом DataSourceProperty:
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
[DefaultClassOptions]
    [ModelDefault("Title", "Студент")]
    public class Student : XPObject
    {
        public Student(Session session) : base(session)
        {
 
        }
 
        public string LastName { get; set; }
 
        public string FirstName { get; set; }
 
        public DateTime? BirthDate { get; set; }
 
        [Association("Student-StudentCourse")]
        public XPCollection<StudentToCourse> StudentCourses { get { return GetCollection<StudentToCourse>(nameof(StudentCourses)); } }
 
 
        [DataSourceProperty(nameof(Courses))]
        public LearningCourse CurrentCourse { get; set; }
 
        [NonPersistent]
        [VisibleInDetailView(false)]
        [VisibleInListView(false)]
        public LearningCourse[] Courses { get { return Session.Query<LearningCourse>().ToArray(); } }
    }
Тогда на моем примере можно выбирать текущий курс студента из списка существующий курсов, при этом связи тут никакие не нужны (именно по правилам XPO)
Разве что можно добавить внешний ключ на этот объект, и инициализировать свойство CurrentCourse через это свойство, ятп:
C#
1
2
3
4
5
6
7
8
// что-то типа того
int CurrentCourseId { get;set;}
 
public override void AfterConstruction()
        {
            base.AfterConstruction();
            CurrentCourse = FindByKeyHere(CurrentCourseId);
        }
Миниатюры
Буду рад пообщаться со специалистом по XAF  
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,236
29.11.2018, 17:32
Можете попробовать перенести это на ваш случай.
0
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 271
29.11.2018, 17:34  [ТС]
ок спасибо попробую неприменно и отпишусь
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,236
29.11.2018, 17:38
И СurrentCourse свойство тоже делаете NonPersistent. А CurrentCourseId должно храниться в базе.
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,236
29.11.2018, 17:50
Обновленная версия, посмотрите как устроен класс Student. Чтобы обновить БД, нужно запустить приложение в режиме отладки. Только надо кастомизировать UI, так как CurrentCourse в ListView студентов не отображается.
Вложения
Тип файла: zip Solution13.zip (4.25 Мб, 25 просмотров)
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,236
29.11.2018, 18:01
Поправочка, не AfterConstruction, а он OnLoaded надо переопределить, теперь выбранный курс корректно сохраняется/восстанавливается.
Кликните здесь для просмотра всего текста

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
[DefaultClassOptions]
    [ModelDefault("Title", "Студент")]
    public class Student : XPObject
    {
        public Student(Session session) : base(session)
        {
 
        }
 
        protected override void OnLoaded()
        {
            base.OnLoaded();
            CurrentCourse = Courses.SingleOrDefault(x => x.Oid.Equals(currentCourseId));
        }        
 
        public string LastName { get; set; }
 
        public string FirstName { get; set; }
 
        public DateTime? BirthDate { get; set; }
 
        private int currentCourseId; 
 
        [VisibleInDetailView(false)]
        [VisibleInListView(false)]
        public int CurrentCourseId {
            get { return currentCourseId; }
 
            set
            {
                SetPropertyValue(nameof(currentCourseId), ref currentCourseId, value);
            }
 
        }
 
        [Association("Student-StudentCourse")]
        public XPCollection<StudentToCourse> StudentCourses { get { return GetCollection<StudentToCourse>(nameof(StudentCourses)); } }
 
        private LearningCourse currentCourse;
 
        [NonPersistent]
        [DataSourceProperty(nameof(Courses))]        
        public LearningCourse CurrentCourse {
 
            get { return currentCourse; }
 
            set {
                SetPropertyValue(nameof(CurrentCourse), ref currentCourse, value);
                CurrentCourseId = value.CourseId;
            }
 
        }
 
        [NonPersistent]
        [VisibleInDetailView(false)]
        [VisibleInListView(false)]
        public LearningCourse[] Courses { get { return Session.Query<LearningCourse>().ToArray(); } }           
 
    }
0
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 271
13.12.2018, 15:43  [ТС]
Спасибо за ответы

Добавлено через 59 минут
Если кто то обладает знаниями по данному фреймворку отпишите пожалуются сюда, нужна консультация.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.12.2018, 15:43

Pascal задача, буду рад ответу)

Буду рад советам и предложениям по базе данных
Тема работы: (Автоматизация учета продаж) В магазинах различных торговых фирм торгуют разными видами товаров от различных поставщиков. ...

Оценка сайта. Буду рад вашей помощи.
Просьба провести аудит сайта поверхностный на глубокий анализ денег нет пока, лимит исчерпан. Интересует качество исполнение дизайна и...

Оцените сборку. Буду рад любому совету!
Всем доброго времени суток!:) Планирую собрать компьютер общего назначения, но все-таки со следующими качествами: - отсутствие...

Оцените сборку, 6700k для рендеринга, под разгон, буду рад советам
Всем привет! Нахожусь в Волгограде, планирую покупать в megabitcomp.ru ( если у кого скидочная карта есть, буду очень благодарен) - хорошие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru