3

我正在尝试自己研究 Fluent Migrator,但遇到了一个问题,我需要更改由 Fluent Migrator 创建的表的结构,这意味着我使用以下代码创建了一个名为 user 的表

 [Migration(201306041130)]
    public class BussinessMigrator : Migration
    {
        public override void Up()
        {
            Create.Table("user")
                .WithColumn("id").AsInt32().PrimaryKey().NotNullable().Identity()
                .WithColumn("name").AsString().NotNullable()
                .WithColumn("email_id").AsString().NotNullable()
                .WithColumn("phone").AsInt32().NotNullable()
                .WithColumn("address").AsString().NotNullable()
                .WithColumn("company_id").AsInt32().NotNullable();
        }

    }

现在我需要在列名之后再添加 3 个名为 avatar_name,avatar_type,avatar_data 的列我该怎么做,请举例回答

提前致谢

4

1 回答 1

6

有两种方法可以做到这一点。使用 Alter.Table 表达式或 Create.Column 表达式。

以下是来自Alter.Table的wiki示例:

Alter.Table("Bar")
    .AddColumn("SomeDate")
    .AsDateTime()
    .Nullable();

这里是 Create.Column 的一个例子:

Create.Column("avatar_name")
    .OnTable("user")
    .AsString()
    .Nullable();

通常使用 FluentMigrator,您可以依靠 Intellisense 来帮助您。例如,如果您首先输入 Create 和 dot,那么 Intellisense 应该会显示 Column、ForeignKey、Index、PrimaryKey、Schema、Sequence、Table 和 UniqueConstraint。大多数时候,这个过程应该是非常容易发现和明显的。

您可以从七个根开始:创建、更改、删​​除、执行、重命名、插入和更新。

于 2013-06-06T14:02:22.820 回答