如何在果园的迁移中创建 GUID 列?



我可以通过 ArcGIS 创建一个GUID列,我可以在 SQLSqrver 中创建一个uniqueidentifier列,但 Orchard 希望通过 migrations.cs 自动生成表。遗憾的是,GUID列使迁移失败,不会创建任何表。我试图用[DatabaseGenerated(DatabaseGeneratedOption.Computed)]装饰模型中的柱子,但没有帮助。我用错了吗?还是我需要不同的东西?我制作了其他几个表,因此除非必要,否则我宁愿避免在GUID列之外进行较大的更改。

迁移.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
}

Orchard 以前不支持我上次检查(几年前)的 guid 语法,你必须这样写:

.Column("MyGuid", DbType.Guid, column => column.NotNull().Unique())

最新更新