Entity Frame Work 5.0 を使用しています。およびデータベース MySQL。時間を移行しようとすると、例外が発生します。
プリンシパル キー列を特定できなかったため、作成できませんでした。AddForeignKey fluent API を使用して、外部キーを完全に指定します。
Entity Frame Work 5.0 を使用しています。およびデータベース MySQL。時間を移行しようとすると、例外が発生します。
プリンシパル キー列を特定できなかったため、作成できませんでした。AddForeignKey fluent API を使用して、外部キーを完全に指定します。
ここで説明されているようにhttp://www.ozkary.com/2015/02/the-foreign-key-on-table-with-columns.html、FKをテーブルの一部ではないテーブルに配置すると問題が発生する可能性がありますあなたのデータベースコンテキスト
だから代わりに
CreateTable(
"dbo.App",
c => new
{
Id = c.Int(nullable: false, identity: true),
Name = c.String(nullable: false, maxLength: 150),
RoleId = c.String()
})
.PrimaryKey(t => t.Id)
.ForeignKey("dbo.MyRoles", t => t.RoleId)
.Index(t => t.RoleId);
やったほうがいい:
CreateTable(
"dbo.App",
c => new
{
Id = c.Int(nullable: false, identity: true),
Name = c.String(nullable: false, maxLength: 150),
RoleId = c.String()
})
.PrimaryKey(t => t.Id)
.Index(t => t.RoleId);
AddForeignKey("dbo.App", "RoleId", "dbo.Roles","Id");
エンティティ フレームワークでは、プリンシパル テーブルの主キー全体と、従属テーブルの対応する列 (外部キー) の間に関係を構築する必要があります。
すべてのテーブルに PRIMARY KEY COLUMN が含まれているかどうかを確認します