2016-09-21 3 views
0

Ich habe zwei Tabellen in SQL, ist eine Benutzer-Tabelle und ein anderes ist Status-Tabelle, ich möchte den neuesten Status zur Anzeige mit LINQ erhalten.LINQ bekommen den neuesten Status

/// User Table// 
userID (Pk) userName telephonenumber 
1    xx1  xxxxxxxx 
2    xx2  xxxxxxxx2 
3    xx3  xxxxxxxx3 
4    xx4  xxxxxxxx4 


statusID(pk) userID statusMessage  createdAt  
    1   2  ddddddddx  2012-09-18 13:30:08 
    2   4  zzzzddddd  2012-09-18 13:30:10 
    3   1  ssswessss  2012-09-18 16:30:10 
    4   2  ddddddddd  2012-09-18 16:30:15 
    5   4  xxxxxweew  2012-09-18 17:30:18 

Antwort

1

Unter der Annahme, Statuses Namen Ihrer zweiten Tabelle ist, können Sie verwenden:

dbContext.Statuses.OrderBy(a => a.createdAt).Last(); 

Sie können einige Filter hinzufügen (ex userID.), Aber es wird nicht in Frage angegeben.


Update 1, Filter durch spezifische userID

dbContext.Statuses.Where(a => a.userID = someID) 
        .OrderBy(a => a.createdAt) 
        .Last(); 
+0

@ Dank, Filter durch Benutzer-ID, für bestimmte Benutzer-ID, i angezeigt werden soll, wie die usertable userID, die gleich ist Status Tabelle userID –

+0

@thanks für Ihre Zeit –

1

Die folgende tun sollten:

result.Max(m => m.createdAt) //To get latest record 
result.Min(m => m.createdAt) //To get earlier record 
Verwandte Themen