У меня есть требование создать вычисляемый столбец в таблице базы данных, используя код EF6. Ниже приведено определение таблицы, которую я пытаюсь сгенерировать:
CREATE TABLE [Dim].[Account](
[pkAccount] [int] IDENTITY(1,1) NOT NULL,
[Account] [nvarchar](20) NULL,
[AccountDescription] [nvarchar](100) NULL,
[AccountGroup] [nvarchar](20) NULL,
[Chksum] AS checksum([Account],[AccountDescription],[AccountGroup])
) ON [PRIMARY]
Я хочу, чтобы столбец Chksum
вычислял значение, когда выбор выполняется, а не вычисляется извне и сохраняется как статическое значение.
Я попытался изменить DbMigration, как показано ниже, используя свойство DefaultValueSql
:
AlterColumn("Dim.Account", "Chksum", b => b.Int(false, false, defaultValueSql: "checksum([Account],[AccountDescription],[AccountGroup])"));
Это вернуло ошибку The name "[Account]" is not permited in this context
.
Есть ли способ достичь этого?