私は多対多の関係を持っています。
タグには複数の記事を含めることができ、記事には複数のタグを含めることができます。
public class Article : Entity
{
[StringLength(150)]
public string Name { get; set; }
public string Content { get; set; }
public ICollection<Tag> Tags { get; set; }
}
public class Tag : Entity
{
public string Name { get; set; }
public ICollection<Article> Articles { get; set; }
}
ef コードは最初TagArticles
に、列Tag_Id
と呼ばれるテーブルを作成し、Article_Id
こんな風に種まきしてみました
protected override void Seed(Context context)
{
var articles = new List<Article>();
for (int i = 0; i < 10; i++)
{
articles.Add(new Article { Name = "test " + i, Content = "lourm ipsum" });
}
var tags = new List<Tag>();
for (int i = 0; i < 10; i++)
{
tags.Add(new Tag { Name = "tag " + i , Articles = new Article[]{ articles[0] }});
}
context.Articles.AddOrUpdate(x => x.Name, articles.ToArray());
context.Tags.AddOrUpdate(x => x.Name, tags.ToArray());
}
しかし、移行後に TagArticles テーブルは空です。ブリッジ テーブルをシードするにはどうすればよいですか?