Поддерживаются ли вычисляемые столбцы первичного ключа Sql Server при вставке / обновлении записей с помощью Entity Framework 4.0? Я знаю , что они не в Linq to SQL .
Каждый раз, когда я пытаюсь вставить запись, для которой в Sql Server определен столбец вычисленного первичного ключа, я получаю сообщение об ошибке
"Модификации таблиц, в которых столбец первичного ключа имеет свойство 'StoreGeneratedPattern', для которого установлено значение 'Computed', не поддерживаются. Вместо этого используйте шаблон 'Identity'."
даже когда для свойства StoreGeneratedPattern ключа установлено значение Identity или Computed.
Пример таблицы:
CREATE TABLE [dbo].[Table](
[B1] [varchar](10) NOT NULL,
[L1] [varchar](5) NOT NULL,
[L2] [varchar](5) NULL,
[E1] [varchar](7) NOT NULL,
[D1] [varchar](50) NULL,
[R1] [varchar](max) NULL,
[Z1] [varchar](5) NULL,
[D2] [varchar](5) NULL,
[Key] AS (([E1]+[B1])+[L1]),
CONSTRAINT [PK_Table_1] PRIMARY KEY CLUSTERED
(
[Key] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Пример edmx:
EDMX с отображением ключевых свойств
Я бы просто установил в базе данных обычный столбец идентификатора автоинкремента, но я унаследовал этот проект и получил указание оставить структуру базы данных в покое.