EF 4.1, Code First: шаблон, сгенерированный магазином 'Computed', не поддерживается для свойств, которые не имеют типа 'timestamp' или 'rowversion' - PullRequest
1 голос
/ 14 ноября 2011

каждый.

Я пытаюсь добавить оптимистичный параллелизм в моих сущностях.Есть свойство, определенное в классе сущности:

public byte[] ObjectVersion
{
    // ...
}

Вот конфигурация этого свойства:

Property(obj => obj.ObjectVersion)
    .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed)
    .HasColumnName("ObjectVersion")
    .IsConcurrencyToken();

В исключительной ситуации во время выполнения выдается:не поддерживается для свойств, которые не имеют типа 'timestamp' или 'rowversion' ".Соответствующий столбец базы данных имеет тип 'rowversion'.

ОК, давайте изменим код конфигурации:

    Property(obj => obj.ObjectVersion)
    .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed)
    .HasColumnName("ObjectVersion")
    .HasColumnType("rowversion")
    .IsConcurrencyToken();

Но исключение по-прежнему выдается.Что я делаю не так?

1 Ответ

0 голосов
/ 14 ноября 2011

В документации показаны два способа настройки токена параллелизма:

modelBuilder.Entity<OfficeAssignment>()
    .Property(t => t.Timestamp)
    .IsConcurrencyToken();


modelBuilder.Entity<OfficeAssignment>()
    .Property(t => t.Timestamp)
    .IsRowVersion();  
...