如何在 Orchard 的迁移中创建一个 GUID 列?
How to make a GUID column in Orchard's migrations?
我可以通过 ArcGIS 创建一个 GUID
列,我可以在 SQLSqrver 中创建 uniqueidentifier
列,但是 Orchard 想要通过 migrations.cs
自动生成 table。不幸的是,GUID
列使迁移失败,没有创建 table。我试图用 [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
装饰模型中的列,但没有帮助。我用错了吗?或者我需要不同的东西吗?我做了其他几个 table,所以除非必要,否则我宁愿避免在 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
}
Orchard 以前不支持 guids 的语法,我上次检查(几年前),你必须这样写:
.Column("MyGuid", DbType.Guid, column => column.NotNull().Unique())
我可以通过 ArcGIS 创建一个 GUID
列,我可以在 SQLSqrver 中创建 uniqueidentifier
列,但是 Orchard 想要通过 migrations.cs
自动生成 table。不幸的是,GUID
列使迁移失败,没有创建 table。我试图用 [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
装饰模型中的列,但没有帮助。我用错了吗?或者我需要不同的东西吗?我做了其他几个 table,所以除非必要,否则我宁愿避免在 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
}
Orchard 以前不支持 guids 的语法,我上次检查(几年前),你必须这样写:
.Column("MyGuid", DbType.Guid, column => column.NotNull().Unique())