|
Master of Orion
|
||||||
Как создать БД с множеством вопросов для игры05.10.2012, 11:16. Показов 5195. Ответов 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 | |
|
Есть форма со множеством полей ввода. Как создать объект?
Как создать и работать с сервером для игры Как правильно создать систему уведомлений для браузерной игры\сайта? Создать список вопросов для выяснения функциональностей системы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Новая последнея моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|