Это моя сущность:
public class Audit
{
public string Pk { get; set; }
public string TableName { get; set; }
public string RowPk { get; set; }
public string ActionType { get; set; }
public string RowContent { get; set; }
}
Это мое отображение:
modelBuilder.Entity<Audit>(entity =>
{
entity.HasKey(e => e.Pk).IsClustered(true);
entity.Property(e => e.Pk)
.ValueGeneratedOnAdd()
.UseIdentityColumn()
.HasConversion(new ValueConverter<string, long>(v => Convert.ToInt64(v),v => Convert.ToString(v)));
entity.Property(e => e.TableName).IsRequired().HasMaxLength(255);
entity.Property(e => e.RowPk).IsRequired().HasMaxLength(100);
entity.Property(e => e.ActionType).IsRequired().HasMaxLength(1);
entity.Property(e => e.RowContent).IsRequired;
});
Мои требования:
Audit.Pk: string
Pk столбец : BigInt
и AutoIncrement
При добавлении миграции я получаю следующую ошибку:
Невозможно использовать значение идентификатора для свойства 'Pk' в типе сущности 'Аудит' потому что тип свойства - «строка». Генерация значения идентичности может использоваться только с целочисленными свойствами со знаком.
Любое решение?