Как сделать столбец GUID в миграции Орчарда?
Я могу сделать GUID
колонка через ArcGIS и я могу сделать uniqueidentifier
столбец в SQLSqrver, но Orchard хочет автоматически сгенерировать таблицу через migrations.cs
, К сожалению, GUID
Ошибка переноса столбца, таблица не создана. Я попытался украсить колонку в модели с [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
, но это не помогло. Я использую это неправильно? Или мне нужно что-то другое? Я делаю несколько других таблиц, поэтому я бы предпочел избегать больших изменений за пределами GUID
колонка, если это необходимо.
Migrations.cs (важные части):
public int Create() {
SchemaBuilder.CreateTable(typeof(FooRecord).Name,
table => table
.Column<int>("Id", column => column.PrimaryKey().Identity())
.Column<Guid>("GUID", column => column.NotNull().Unique())
//other columns
);
return 1;
}
Модель:
public class FooRecord
{
public virtual int Id { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public virtual Guid GUID { get; set; }
//other columns
}
1 ответ
Решение
Орчард ранее не поддерживал этот синтаксис для руководств, которые я проверял в последний раз (несколько лет назад), и вам пришлось написать его так:
.Column("MyGuid", DbType.Guid, column => column.NotNull().Unique())