C# asp.net mvc 4一对多关系(文章-标记)
我正在尝试创建1-M关系(1-*),但我无法实现这一目标 我有文章模型和文章标签模型。从逻辑上讲,我希望有一篇文章与许多标签链接。以“非模型”的方式,我将根据这两个模型制作两个表格C# asp.net mvc 4一对多关系(文章-标记),c#,asp.net-mvc,asp.net-mvc-4,relation,C#,Asp.net Mvc,Asp.net Mvc 4,Relation,我正在尝试创建1-M关系(1-*),但我无法实现这一目标 我有文章模型和文章标签模型。从逻辑上讲,我希望有一篇文章与许多标签链接。以“非模型”的方式,我将根据这两个模型制作两个表格 public class Article { public int ArticleID { get; set; } public string Title { get; set; } public DateTime Date { get; set; } public string A
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; }
}
公共类文章
{
公共int ArticleID{get;set;}
公共字符串标题{get;set;}
公共日期时间日期{get;set;}
公共字符串命名{get;set;}
公共字符串体{get;set;}
公共字符串SourceLink{get;set;}
公共虚拟ICollection ArticleTags{get;set;}
}
公共类ArticleTag
{
public int ArticleID{get;set;}//FK的项目
公共字符串标记名{get;set;}
}
我只见过有ID的实体,但在这里,我认为没有必要,因为ArticleTag表中的每一行都有自己的ID,不是吗
我该怎么写?Thx很多。首先,您需要为ArticleTag和Article都有一个唯一的Id。然后需要将ArticleID插入到项目标记中,因为实体需要知道哪些ArticleTags属于项目。简而言之,它应该是这样的:
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; }
}
首先,您需要为ArticleTag和Article都有一个唯一的Id。然后需要将ArticleID插入到项目标记中,因为实体需要知道哪些ArticleTags属于项目。简而言之,它应该是这样的:
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; }
}