[英]Unable to determine relationships - Entity Framework Core
我有具有 LinkedArticles 能力的表格文章,所以基本上当用户预览例如“Iphone 13”链接的文章可能是“Iphone Charger”或“AirPads”等。
这是我的实体:
public class Article : BaseEntity<long>, IDeleted
{
public long? BrandId { get; set; }
public Brand Brand { get; set; }
public string Title { get; set; }
public string ShortDescription { get; set; }
public string Description { get; set; }
public ICollection<LinkedArticle> LinkedArticles { get; set; }
public bool Deleted { get; set; }
}
链接的文章如下所示:
public class LinkedArticle : BaseEntity<long>, IDeleted
{
public long ArticleId { get; set; }
public Article Article { get; set; }
public long RelatedArticleId { get; set; }
public Article RelatedArticle { get; set; }
public bool Deleted { get; set; }
}
所以基本上我想在这个表 LinkedArticles 中保存相关文章,例如文章 id 5 可以有几个不同的文章与 id 5 相关。
但是当我尝试添加迁移时,出现以下错误:
无法确定类型为“ICollection”的导航“Article.LinkedArticles”表示的关系。 手动配置关系,或使用“[NotMapped]”属性或使用“OnModelCreating”中的“EntityTypeBuilder.Ignore”忽略此属性。
这里发生了什么? 我已经添加ICollection<LinkedArticle>
到Article.cs
因为我想有从文章实体能力的查询链接的文章。
这应该是多对多的关系。 文章可以有很多链接文章,但是链接文章可以链接到很多文章。
看看这个文档: https : //docs.microsoft.com/en-us/ef/core/modeling/relationships? tabs = fluent-api%2Cfluent-api-simple-key%2Csimple-key#many- to -许多
例如(帖子可以有很多标签,但标签可以分配给很多帖子):
public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public ICollection<Tag> Tags { get; set; }
}
public class Tag
{
public string TagId { get; set; }
public ICollection<Post> Posts { get; set; }
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.