Сделать два столбца первичным ключом в представлении

В SQL Server Management Studio вы можете отредактировать таблицу в конструкторе, выбрать два столбца, щелкнуть правой кнопкой мыши и сделать их первичным ключом.

Есть ли возможность сделать это и для представления?

Обычно, когда у меня есть представление в моей базе данных, ему нужно, чтобы какой-то столбец был NOT NULL. Затем в Entity Framework 4 я выполняю Update Model From Database (в представлении дизайна файлов .edmx), чтобы импортировать представление, и, поскольку один столбец равен NOT NULL, он делает этот столбец первичным ключом. Если нет столбца NOT NULL, он отказывается импортировать представление в модель. Проблема в том, что теперь у меня есть представление, в котором ни один столбец не может быть первичным ключом, а только два объединенных столбца. Как я могу заставить Entity Framework принимать эти два столбца в качестве первичного ключа.

Или я могу добавить новый столбец в представление (возможно, с именем Identity) и сделать этот столбец первичным ключом? Как я мог это сделать?


person JayAr    schedule 16.04.2012    source источник


Ответы (1)


В EF вы можете просто выбрать свою сущность в desinger и установить любое свойство (или набор свойств) в качестве ключа сущности. Представление базы данных не может иметь первичный ключ, вы можете создать индексированное представление, но EF, скорее всего, проигнорирует это.

person Ladislav Mrnka    schedule 16.04.2012