gpt4 book ai didi

entity-framework - ef代码首先种子多对多关系

转载 作者:行者123 更新时间:2023-12-02 03:57:50 25 4
gpt4 key购买 nike

我有很多关系。

一个标签可以有多个文章,而一个文章可以有多个标签。

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代码首先使用列 TagArticlesTag_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表在迁移后为空,如何为桥接表设定种子?

最佳答案

上面插入的代码对我有用,但是我必须添加主键才能真正保存数据库。

您在哪里设置主键?这是在实体继承中吗?

播种后,数据库中是否有文章和标签(直到我更正了PK问题之后,才对我有用)

关于entity-framework - ef代码首先种子多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11771095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com