public class Article
{
public int ArticleId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public DateTime ArticleAddedTime { get; set; }
public List<ArticleTag> Tags { get; set; }
}
public class ArticleDto
{
public int ArticleId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public List<TagDto> Tags { get; set; }
}
public class Tag
{
public int TagId { get; set; }
public string Name { get; set; }
public List<ArticleTag> Articles { get; set; }
}
public class TagDto
{
public int TagId { get; set; }
public string Name { get; set; }
public List<ArticleDto> Articles { get; set; }
}
public class ArticleTag
{
public int ArticleId { get; set; }
public Article Article { get; set; }
public int TagId { get; set; }
public Tag Tag { get; set; }
}
在DataContext中:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<ArticleTag>()
.HasKey(c => new { c.ArticleId, c.TagId });
modelBuilder.Entity<ArticleTag>()
.HasOne(x => x.Article)
.WithMany(z => z.Tags)
.HasForeignKey(y => y.ArticleId);
modelBuilder.Entity<ArticleTag>()
.HasOne(x => x.Tag)
.WithMany(z => z.Articles)
.HasForeignKey(y => y.TagId);
}
创建包含多个标签的文章时,Json应该是什么样?
我应该传递诸如[1, 2]
之类的标签列表还是整个标签对象?
如果我传递一个空列表,那只是空的,但是如果我输入一些东西,那是一个错误,但是它不能告诉我什么。
也许有人为与完整Servise和Controller之间的这种关系建立了一个很好的例子(在输入和输出json文件中也会显示有用的信息)?我在网上找到的所有内容都可以概括地说。