在实体框架中正确使用外键来显示数据

时间:2016-02-04 18:40:36

标签: c# entity-framework asp.net-mvc-4 razor

我正在创建世界上最简单的论坛,其表格设置如下:

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包含DbSetUsers的{​​{1}},我应该加载所有用户,然后从中查询以获取对正确用户的引用对于每个帖子(例如,从Posts删除Poster属性)?编写和使用我的模型类的正确方法是什么?

0 个答案:

没有答案