0

По крайней мере, так оно и выглядит. Я использую Sql Server CE 4.0 и Visual Studio 2010. Это первый раз, когда я использовал Sql Server CE.Sql Server Внешний ключ CE отображается как первичный ключ

Например, у меня есть две таблицы. Один называется Шаблоны:

TemplateID (int, primary key, identity) 
TemplateName (nvarchar) 

другие называют продукты:

ProductID (int, primary key, identity) 
TemplateID (int, foreign key relationship with Templates) 
ProductName (nvarchar) 

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

После настройки отношений, когда я смотрю таблицу Products в Server Explorer, я вижу, что TemplateID помечен как первичный ключ в Products. Это НЕ должно быть первичным ключом в этой таблице!

Это просто некоторая странность презентации для таблиц CE - это означает, что внешний ключ является первичным ключом в какой-либо другой таблице? Кажется, это не так, потому что щелчок по столбцу TemplateID в таблице «Продукты» и расширение тега Identity в окне «Свойства» показывает, что «Таблица» - это продукты, а не шаблоны.

Если бы кто-нибудь мог пролить свет на эту странность, я был бы очень признателен.

+0

Вы могли бы поделиться схемой обеих таблиц в T-SQL? –

ответ

0

Некоторые испытания подтвердили, что внешние ключи НЕ включены как часть первичного ключа, несмотря на то, что дисплей в Visual Studio.

Так что, по-видимому, это просто неуклюжий, запутанный способ отображения полей таблиц в Visual Studio Server Explorer.

Yeesh. Я пропускаю Management Studio уже ...

Смежные вопросы