将多个表链接在一起?

时间:2014-04-10 15:49:20

标签: c# sql linq entity-framework

我正在尝试在C#中编写一个留言板(类似于Reddit),用于我正在处理的个人项目。我有几节课,

用户:

public class User
{
    public int Id { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
}

发表:

public class Post
{
    public int Id { get; set; }
    public int UserId { get; set; }
    public int SubId { get; set; }
    public string Title { get; set; }
    public string Body { get; set; }
}

评论:

public class Comment
{
    public int Id { get; set; }
    public int PostId { get; set; }
    public int? ParentId { get; set; }
    public int UserId { get; set; }
    public string Body { get; set; }
}

(FK和反向查找已从代码中删除,因为它们无法正常工作)

我想要的是将这些全部链接在一起,所以如果我正在打印评论,我可以引用编写它的用户,例如(如果我使用Razor渲染引擎编写它)

 @Comment.User.Username

现在我正在维护两个列表,一个是注释列表,一个是用户列表,每个注释我将它的相应用户推送到用户列表。但这似乎太过于一起被黑了#34;并可能导致未来的问题。我在这里错过了什么?有没有办法将这些全部链接在一起?

编辑:对不起,忘了提。我正在使用实体框架。

Edit2:没关系。我想通了。

关键是使用导航属性,如下所述:

http://msdn.microsoft.com/en-us/data/jj713564.aspx

0 个答案:

没有答案