Проблемы с началом работы с SubSonic - PullRequest
0 голосов
/ 28 августа 2009

У меня есть доменная модель в моей голове, и у меня возникают проблемы при создании SubSonic-совместимой схемы БД, это действительно помогло бы мне начать, если бы вы могли сказать мне, как вы будете работать с этим для 3 примера быть SqlServer ИЛИ MySql для меня не имеет значения)

Предмет - представление образовательного предмета (например, тригонометрия, исчисление). Реквизит - Имя

Техника - представляет технику, используемую для решения упражнения (например, закон косинусов, теорема Пифагора) Реквизит-Имя, Отец-субъект

Упражнение - представление определенного вопроса. Реквизиты - Предметы, Методы (только те, которые использовались для решения упражнения), Уровень сложности (enum-easy, meduim, hard), Answer (int).

Итак: Много ко многим - Упражнение -> Предмет, Упражнение -> Техника Один ко многим - Тема -> Техника. И уровень сложности - это перечисление.

Я обязательно внесу свой вклад в документацию, как только начну знакомиться с ней.

Ответы [ 2 ]

1 голос
/ 28 августа 2009

Я бы сказал, чтобы использовать SimpleRepository: http://www.subsonicproject.com/docs/Using_SimpleRepository

Я собираюсь обновить его с помощью автоматических миграций для ассоциаций ManyToMany, которые будут генерировать необходимые вам таблицы / ограничения. Я проверяю это сейчас, поэтому мне нужно несколько недель.

Вы можете написать мне код, если хотите (без миграций), который называется myname @ gmail.

1 голос
/ 28 августа 2009

Самый простой способ - просто построить таблицы мостов между отношениями «многие ко многим».

Table: Subject
Columns: Subject_ID (PK)
         Name (UK)

Table: Technique
Columns: Technique_ID (PK)
         Name (UK)
         Subject_Name (FK)

Table: Exercise
Columns: Exercise_ID (PK)
         Difficulty_ID (FK)
         Question_Text
         Correct_Answer_ID (FK)

Table: Difficulty
Columns: Difficulty_ID (PK)

Table: Exercise_Answer
Columns: Answer_ID (PK)
         Exercise_ID (FK)
         Answer_Text

Table: Exercise_Technique
Columns: Exercise_Technique_ID  (PK)
         Exercise_ID (part of UK, FK)
         Technique_ID (part of UK, FK)
  • Подлежит множеству техник
  • Упражнение для многих техник (через Exercise_Techniques)
  • Упражнение на многие ответы

Выделяя ответы на другую таблицу и не используя правильный идентификатор ответа в качестве целого (как 2-й ответ), вы можете рандомизировать ответы и по-прежнему знать, какой из них является правильным, сравнивая значение answer_id с упражнением. correct_answer_id.

...