Создание отношений с SQL Server 08 Express в Visual Web Dev 2010 - PullRequest
0 голосов
/ 28 июня 2010

ОК, так что я никогда не прикасался к asp.net и абсолютно не представляю, что я делаю. Я создаю структуры баз данных с помощью SQL-скриптов, а не с графическим интерфейсом. Поэтому я пытаюсь изучить ASP.NET и начал проект MVC Web App.

У меня есть таблица счетов, таблица адресов и таблица account_addresses_xref.

table: 
account
fields:
account_id
name
status_id
blah blah blah

table:
addresses
fields:
address_id
city
state
blah blah blah

table:
account_addresses_xref
fields:
account_id
address_id

Где account_id в внешней ссылке должен быть FK и ограничиваться таблицей счетов, а address_id в внешней ссылке должен быть FK и ограничиваться таблицей адресов, а запись одной записи с комбо account_id / address_id должна быть ПК к таблице внешних ссылок.

Создать эти таблицы было довольно легко. Теперь я хочу связать их друг с другом. Поэтому я щелкнул правой кнопкой мыши по полю account_id в таблице внешних ссылок и выбрал «отношения». Он говорит, что нужно щелкнуть «Спецификации таблиц и столбцов», что я и сделал. Он запрашивает таблицу первичного ключа, в которой я выбираю «учетные записи». Естественно, по умолчанию для таблицы ключей Forien установлено значение «account_addresses_xref». Я нажимаю «ОК», и он говорит мне: «Новое отношение должно иметь, по крайней мере, пару пар столбцов с реальными значениями»…. таблица, по крайней мере, к одному столбцу в таблице первичного ключа. Выберите столбец из каждой таблицы или удалите связь "- ОК. Я не вижу, где я могу это сделать, я думал, что это то, что я делал.

Есть ли способ, которым я могу просто написать свою структуру базы данных в сценарии и запустить ее, и не использовать эту ерунду?

Пожалуйста, посоветуйте оба вопроса, как мне создать отношения через GUI и как мне взломать мой собственный чертов SQL-скрипт. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 02 августа 2010

Для создания account_addresses_xref table вы можете использовать приведенный ниже запрос T-SQL, указав account_id и address_id как первичные ключи своих таблиц.

CREATE TABLE account_addresses_xref
(
  account_id INT NOT NULL FOREIGN KEY REFERENCES account (account_id),
  address_id INT NOT NULL FOREIGN KEY REFERENCES addresses (address_id),
  PRIMARY KEY CLUSTERED (account_id, address_id)
)
0 голосов
/ 28 июня 2010

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

...