1

我正在尝试使用 EF4 为我的博客创建迁移,但我不确定如何使用通用集合声明字段,例如Posts. 如何才能做到这一点?使用智能感知时,没有可用于声明属性的泛型类型。

 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

我认为您首先将迁移与代码中的实体混合在一起,在这种情况下,您希望创建另一个名为“Posts”的表,该表与“Blogs”表具有外键关系。

 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 回答