我正在使用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?
答案 0 :(得分:1)
确保您的PostLine
类具有User
类型的属性:
public class PostLine
{
// your properties
public User Author { get; set; }
}
然后:
string authorOfFirstPostLine = context.PostLines.First().Author.Name;
答案 1 :(得分: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);