|
Master of Orion
|
||||||
Как создать БД с множеством вопросов для игры05.10.2012, 11:16. Показов 5085. Ответов 30
Метки нет (Все метки)
Здравствуйте. Скорее всего нубский вопрос, но не могу ничего поделать: из-за того, что тестовый серверв от MS у меня не хочет идти, самообучение СУБД получается не очень. Пишу игру наподобие "кто хочет стать миллионером". Имеется класс "вопрос". Собственно, задача: создать БД с множеством этих вопросов. Вот так выглядит класс вопроса
Бд подойдет MS SQL или MySQL
0
|
||||||
| 05.10.2012, 11:16 | |
|
Ответы с готовыми решениями:
30
Как создать приложение с множеством панелей? Как создать ландшафт для игры?
|
|
Master of Orion
|
|||
| 06.10.2012, 23:25 [ТС] | |||
Но все равно спасибо И как это сделать, можно пример?
0
|
|||
|
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
|
|||||||||||
| 06.10.2012, 23:32 | |||||||||||
|
Как использовать лямду в методе Include:
Советую все же разобраться с Server Explorer: добавить сгенерированную базу данных в проект и два раза по ней клацнуть.
0
|
|||||||||||
|
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
|
|||||||
| 07.10.2012, 09:41 | |||||||
|
Чтобы открыть Server Explorer, необходимо нажать CTRL+ALT+S или ALT+V, ALT+V.
Для установки подключения к базе данных, необходимо два раза по ней клацнуть в обозревателе решения, тогда это подключение появится в Server Explorer. В итоге получится: Далее заходим в папку Tables, выбираем нужную таблицу и два раза клацаем по ней или из контекстного меню Open Table Definition. Появится вверху схема таблицы, которую можно редактировать, а внизу запрос, который ее создает. Как видно, в таблице AnswerSetBases нет колонки Answers. А выбрав в контекстом меню Show Table Data, можно глянуть сожержимое базы данных. Так же содержимое можно изменять и дополнять. Касательно навигационного поля в таблице Question:
Как видно, хоть и привязывается целая сущность, но в базе данных хранится только ее Id. Поэтому: Заодно можно глянуть какие соответствия типов получаются между БД и кодом C# с помощью Server Explorer и не нужны никакие менеджмент студии.
1
|
|||||||
|
Master of Orion
|
||||||
| 07.10.2012, 23:53 [ТС] | ||||||
|
Таблицы создал, вопрос только такой:
1) Можно ли базу сохранить в какой-либо файл, чтобы потом с ним работать (грубо говоря, сериализовать, чтобы на любом компьютере можно было работать, доставая данные из локальной базы). 2) Как эти 2 таблицы в общем-то связать (я видел, что вы там создали внешний ключ, но у меня почему-то не получается 3) Как с этим работать в программе (как подключаться и доставать данные)? Вот таблицы, которые я сделал (может в ней тоже косяки есть?). Я написал так
К тому же у меня база dbo, а у вас - mdf, при этом он мне не дает никаких вариантов (или я слепой?..)
0
|
||||||
|
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
|
||||||||||||||||||
| 08.10.2012, 18:36 | ||||||||||||||||||
|
1. Сохранить базу данных можно в файл, пробежавшись по всем записям и записав каждую в файл. Но это не будет называться локальной базой данных. В случае с MsSql нужен Sql Server, а если использовать MsSql CE, MySql, SQLite или что-то подобное, то достаточно вместе с исполняемым файлом таскать пару библиотек.
2. Связи создаются с помощью объявления навигационных полей. В соответствии с тем, каким именно образом объявлено навигационное поле - создаются связи в базе данных. Приведу пример для двусторонних связей. К примеру есть две таблицы A и B. - Если необходимо реализовать между этими таблицами связь 1-к-1 - в таблице A будет Id таблицы B, а в таблице B - Id таблицы A: код
- Если необходимо реализовать между этими таблицами связь 1-к-многим - к примеру, в таблице A будет множество значений B, то: код
Таким образом таблица B будет содержать Id таблицы A, а таблица А - только свой Id и ничего более. - Если необходимо реализовать связь много-ко-многим (в A содержится множество B и в B содержится множество A), то: код
EF создаст вспомогательную таблицу AB, которая будет содержать один Id таблицы A и один Id таблицы B, а в таблицах A и B будет по одному Id таблицы AB. 3. Чтобы подключится к базе данных, достаточно создать класс-контекст (в моем примере это DataContext) и правильно задать строку подключения, а доставать данные можно с помощью методов Linq. Чтобы получить один элемент, необходимо использовать метод Find. DBO - это Database Owner - пользователь с самыми высокими правами. MDF - расширение базы данных MsSql, хотя это еще может быть много чего. Даже если поменять расширение MDF на что-либо еще, СУБД сможет открыть этот файл. А вообще, следуя стратегии Code First - в базу данных лезть нет необходимости, а тестовый данные можно создавать с помощью конфигурационного класса миграций.
0
|
||||||||||||||||||
|
Master of Orion
|
|
| 08.10.2012, 18:49 [ТС] | |
|
I2um1, я думал связь будет id-id, Т.к. все равно один-к-одному. Вопрос насчет таблицы: вот я её заполнил ,как мне в члены класса их выгружать, не понятно все-таки. С EF вроде разобрался, а вот с такой работой - нет.Если конечно не окончательно еще достал. Если окончательно - то прервемся, я буду еще матчасть искать. )
0
|
|
|
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
|
|||
| 08.10.2012, 18:52 | |||
|
0
|
|||
|
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
|
||
| 08.10.2012, 19:42 | ||
|
1
|
||
|
Master of Orion
|
|
| 08.10.2012, 23:09 [ТС] | |
|
I2um1, тогда уж один ко многим: один вопрос- много овтетов. Но каждый ответ соответствует своему вопросу. Ладно, понял, спасибо)
0
|
|
| 08.10.2012, 23:09 | |
|
Есть форма со множеством полей ввода. Как создать объект?
Как создать и работать с сервером для игры Как правильно создать систему уведомлений для браузерной игры\сайта? Создать список вопросов для выяснения функциональностей системы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|