如何通过FluentMigrator创建SQLite FK

时间:2016-06-15 22:38:17

标签: c# sqlite fluent-migrator

如何更改此代码以创建FK?这没有任何错误,控制台指示fk已创建。但是我没有在生成的数据库中看到fk ......

Create.Table("Level")
.WithIdColumn()
.WithColumn("Name").AsFixedLengthString(128).NotNullable();

Create.Table("Team")
.WithIdentityIdColumn()
.WithColumn("Number").AsFixedLengthString(256).NotNullable()
.WithColumn("LevelId").AsInt32().NotNullable().ForeignKey("Level", "Id")

虽然控制台指示已创建fk

,但它也不起作用
Create.ForeignKey()
.FromTable("Team").ForeignColumn("LevelId")
.ToTable("Level").PrimaryColumn("Id");

2 个答案:

答案 0 :(得分:0)

如果所有其他方法都失败了,你可以尝试编写sql命令来创建FK并使用'Execute([你的命令])函数在你的up函数中执行命令。

然而,您编写的两个示例都应该有效。我会尝试联系lib创建者并检查是否支持。

答案 1 :(得分:0)

报道了这个问题 https://github.com/schambers/fluentmigrator/pull/638。 等待解决方案。 现在我们需要使用原始sql的解决方法。