Jeg har et website lavet i ASP.NET MVC 3 (C#), databasen er en MS SQL 2008.
I min database har jeg to tabeller Users og Messages.
Users har følgende kolonner:
- Id (PK) - Username (varchar) - Age (varchar) - City (varchar)
Messages har følgende kolonner:
- Id (PK) - SentTo (int - indeholder Id på en bruger i Users) - SentBy (int - indeholder Id på en bruger i Users) - Content (text - indeholder beskeden) - SentDate (datetime - tidspunkt for afsendelse)
Det skal så være sådan at i indbakken listes en afsender kun én gang, også selvom der er flere beskeder fra den samme afsender. I selve listen kan man se et kort udsnit af den sidste besked fra den pågældende afsender, noget i stil med Facebook.
Jeg har forsøgt mig, men er meget ny i dette, så jeg er ikke nået længere end til dette:
var Messages = (from r in db.Messages where r.SentTo == Basic.SessionUserID() select r.SentBy).Distinct().ToList();
Hvordan får jeg dette skrev færdigt (med et join til users) så jeg i samme sætning også kan få Messages.Content, Messages.SentDate og Users.Username med ud fra databasen.
int info = list.Where(m => m.UserId == tmpId).Count();
if (info == 0) { var obj = new MessagesOverview(); obj.UserId = tmpId; obj.Username = tmpUsername; obj.ReadDate = item.ReadDate; obj.SentDate = item.SentDate; obj.Content = item.Content; list.Add(obj); } }
return View(list);
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.