我正在创建世界上最简单的论坛,其表格设置如下:
Users | Id, Name
Posts | Id, Content, PosterId (FK to Users(Id))
信息将显示如下:
[Poster Name] | [Post content] | Post #1
[Poster Name] | [Post content] | Post #2
我读到的是,为了处理FK,Posts
的模型类应该像这样设置:
public class PostModel
{
public int Id { get; set; }
public string Content { get; set; }
[ForeignKey("Poster")]
public string PosterId { get; set; }
public User Poster { get; set; }
}
这可能是一个愚蠢的问题,但我对此感到有些困惑。由于用户:帖子是1:N,如果帖子是由同一个用户制作的,我是否会创建同一个User
对象的多个副本?如果我的ForumEntity
包含DbSet
和Users
的{{1}},我应该加载所有用户,然后从中查询以获取对正确用户的引用对于每个帖子(例如,从Posts
删除Poster
属性)?编写和使用我的模型类的正确方法是什么?