Используйте шаблон «Идентичность»

свойство «StoreGeneratedPattern», установленное в «Computed», не поддерживается. Используйте шаблон «Идентичность»

Я использую базу данных Entity Framework. Первый подход

У меня есть таблица с составным первичным ключом в ID (int, инкремент идентификации), HashKey (двоичный), автоматически созданный на основе нескольких столбцов с использованием sql-хеш-байтов.

Следующее - отображение столбцов EF

ID storeGeneratedPattern = "Identity" и hashkey (двоичный) storeGeneratedPattern = "Вычисляется".

Когда я пытаюсь сохранить метод EF save changes, он бросает ниже исключения.

«Модификации таблиц, в которых столбец первичного ключа имеет значение A ±. • Столбец:« HashKey ». Таблица"

Я применил составной первичный ключ в этих столбцах (Id, Hashkey), чтобы ускорить поиск, поскольку он содержит индекс кластера. Но не уверен, поддерживает ли EF это.

Я видел ниже ссылку. Но я не уверен в решении.

Свойство с StoreGeneratedPattern, установленное в Identity, не обновляется после SaveChanges ()

Может ли кто-нибудь помочь в решении этой проблемы.

c#,.net,entity-framework,composite-primary-key,hashbytes,

0

Ответов: 1


0

«Computed» означает, что EF ожидает, что SQL будет генерировать значение после каждой вставки / обновления. Поэтому для него не имеет смысла быть частью ПК.

Вы можете просто оставить идентификатор в качестве ПК и создать кластеризованный индекс со столбцами (id, hash).

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

C # ,. сети, сущность-рамка, композитный первичный ключ, hashbytes,
Похожие вопросы
Яндекс.Метрика