C # MySql Хранение массива в базе данных - PullRequest
1 голос
/ 07 мая 2011

У меня есть база данных mysql, в которой я храню детали проекта.Одной из таких деталей является персонал, связанный с проектом.В таблице проекта у меня есть колонка для персонала в проекте.В моем коде на C # я храню его в массиве.Мне интересно, есть ли способ сохранить этот массив в одном столбце в базе данных?

Спасибо

Ответы [ 3 ]

1 голос
/ 07 мая 2011

Не следует хранить группу сущностей в одном столбце.

Вам лучше создать другую таблицу и связать свою первую со второй таблицей отношений.

TableA: id | name
TableB: id | bla
TableRelations: tableA_id | tableB_id

Это называется many-to-many отношение (N:M как сокращение)

Первая случайная ссылка от Google, связанная со многими ко многим

0 голосов
/ 07 мая 2011

Я думаю, что вам, безусловно, следует придерживаться концепции «многие ко многим», как указано @zerkms. Но если вы действительно заинтересованы в сохранении ArrayList в одном поле , вы можете сериализовать это ArrayList в String и сохранить в VARCHAR поле .

О сериализации ArrayList в строку , вы можете просмотреть некоторые предлагаемые способы в этом разделе: Динамически создать массив javascript с кодом c # позади .

Помните, что вам нужно десериализовать при чтении обратно в ваше приложение.

0 голосов
/ 07 мая 2011

Как правило, хранение кратных значений в столбце указывает на плохую структуру базы данных. Это очень затрудняет эффективный выбор строк на основе критериев в этом отдельном столбце. Тем не менее, если вам действительно нужно выбирать эти значения только для каждой строки, рассмотрите возможность использования XML

.

Использование XML с MySQL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...