Мне нужно добавить столбец RowVersion ко всем моим таблицам. Мне нужно это по причинам, таким как хранилище данных (и аналогичные действия только для БД). Я не хочу использовать его для параллелизма.Удалить дополнительный просмотр столбцов RowVersion для Entity Framework
Я хочу, чтобы структура Entity Framework продолжала работать, как будто столбец RowVersion не существует. Но я, похоже, не вижу способа сделать это.
Когда я когда-либо сделать обновление, SQL Profile говорит мне, это то, что выполняется:
update [dbo].[Widget]
set [WidgetCost] = @0
where ([WidgetId] = @1)
select [RowVersionId]
from [dbo].[Widget]
where @@ROWCOUNT > 0 and [WidgetId] = @1
Если я не столбец RowVersion на столе, то второй оператор выбора не бывает.
Как я могу заставить Entity Framework просто игнорировать столбец RowVersionId? Если вообще возможно, я бы предпочел метод, который не требует ручного редактирования csdl/msdl после каждого обновления модели из базы данных. (Кто-то забыть в конце концов.)
Я попытался:
- Обеспечение того, чтобы параллелизм режим столбца RowVersionId установлен в положение «None»
- Удаление столбца RowVersionId из EDMX. (Я не могу удалить его из модели.)
ПРИМЕЧАНИЕ. Пока я не обновляю таблицу в дизайнере EF (edmx) после добавления столбца, он работает так, как ожидалось. Так что в Entity Framework есть что-то такое. (Но я не могу просто заблокировать мой edmx, начиная с обновления после добавления этой колонки.)
Давненько я EDMX, но вы можете исключить столбцы после обновления модели? – DavidG
В чем проблема с столбцом «RowVersion» в рабочем процессе Db-First? Вызывается ли исключение параллелизма? – Alireza
@DavidG Я могу удалить его из редактора, но не из модели. – Vaccano