0

我正在使用 C#、.NET Framework 4.0 和 Entity Framework Code First 开发 WCF RESTful 服务。

这些是我的桌子

在此处输入图像描述

我想在数据库上选择这个:

SELECT PostLine.UserId, PostLine.Description, PostLine.DateUtc, User.Name 
FROM PostLine, User
WHERE User.UserId == PostLine.UserId

并为 PostLine.DateUtc 添加过滤器

现在,我这样做:

DateTime fourDaysAgo = DateTime.Now.Date.AddDays(-4);

var postLines =
    context.PostLines.Where(p => DateTime.Compare(p.DateUtc, fourDaysAgo) > 0);

但我的问题是我不知道如何加入User表来获取User.name.

如何加入 User 表以获取 User.Name?

4

2 回答 2

1

确保您的PostLine类具有以下User类型的属性:

public class PostLine
{
    // your properties

    public User Author { get; set; }
}

然后:

string authorOfFirstPostLine = context.PostLines.First().Author.Name;
于 2013-10-05T09:19:19.837 回答
0

尝试这个:

DateTime fourDaysAgo = DateTime.Now.Date.AddDays(-4);

var postLines =
    context.PostLines
             .Join(context.User,
                   p => p.UserId,
                   u => u.UserId,
                   (p, i) => new {p.UserId, p.Description, p.DateUtc, u.Name})
             .Where(p => DateTime.Compare(p.DateUtc, fourDaysAgo) > 0);
于 2013-10-05T09:20:17.433 回答