0

我正在尝试创建 1-M 关系 (1-*),但我无法完成这项工作。

我有文章模型和文章标签模型。从逻辑上讲,我想要一篇与许多标签链接的文章。以“非模型”的方式,我会根据这两个模型制作 2 个表格。

public class Article
{ 
    public int ArticleID { get; set; }
    public string Title { get; set; }
    public DateTime Date { get; set; }
    public string Anotation { get; set; }
    public string Body { get; set; }
    public string SourceLink { get; set; }
    public virtual ICollection<ArticleTag> ArticleTags { get; set; }
}

public class ArticleTag
{
    public int ArticleID { get; set; } //FK of the Article
    public string TagName { get; set; }
}

我只看到了具有 ID 的实体,但在这里,我认为没有必要,ArticleTag 表中的每一行都有自己的 ID。不是吗?

我该怎么写?多谢。

4

1 回答 1

3

首先,您需要为 ArticleTag 和 Article 提供一个唯一的 Id。然后需要将 ArticleID 插入到 Article Tag 中,因为实体需要知道哪些 ArticleTags 属于某个 Article。简化后,它应该是这样的:

public class Article
{ 
public int ArticleID { get; set; }
public string Title { get; set; }
public DateTime Date { get; set; }
public string Anotation { get; set; }
}

public class ArticleTag
{
public int ArticleTagID { get; set; } 
public int ArticleID { get; set; } //This creates the link 1-M
public string TagName { get; set; }
}
于 2013-06-04T20:49:50.633 回答