2013-10-05 82 views
0

我正在用C#,.NET Framework 4.0和實體框架代碼優先開發WCF RESTful服務。加入兩個表以獲取User.Name

這是我的表

enter image description here

我想在數據庫中選擇這樣的:

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.Name?

回答

1

確保您PostLine類有User類型的屬性:

public class PostLine 
{ 
    // your properties 

    public User Author { get; set; } 
} 

然後:

string authorOfFirstPostLine = context.PostLines.First().Author.Name; 
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);