1

EF4 を使用してブログの移行を作成しようとしていますが、フィールドを宣言する方法がPosts. これはどのように行うことができますか?Intellesense を使用する場合、プロパティを宣言するために使用できるジェネリック型はありません。

 CreateTable("Blogs", t => new
     {
         Id = t.Int(false, true),
         Title = t.String(),
         BloggerName = t.String(),
         Posts = t.ICollection<Post>()  //no ICollection
     }).PrimaryKey(k => k.Id);
4

1 に答える 1

2

最初にコード内のエンティティと移行を少し混ぜ合わせていると思います。この場合、「Blogs」テーブルと外部キーの関係を持つ「Posts」という別のテーブルを作成する必要があります。

 CreateTable("Posts", c => new
 {
     Id = c.Int(false, true),
     Content = c.String(nullable: false, maxLength: 512)
 }).PrimaryKey(k => k.Id)
 .ForeignKey("Blogs", t => t.Id);

一般に、エンティティをクラスとして構築し(コードを最初に)、移行ツールにコンソールで移行自体を生成させる方が簡単です。

Add-Migration "BlogPosts"
于 2012-06-16T02:45:23.333 に答える