Frage : Schreiben der eleganten LINQ Fragen using lamda Ausdrücke

Kann jemand mir helfen, heraus, wenn er diese Frage using eine elegantere Annäherung schreibt?  Obgleich diese Frage arbeitet, möchte ich, neaten/verkürze sie - using Lamda Ausdrücke, wenn möglich, ausgenommen mein Lamda Wissen ein kleines limited.

I morgens using Sitefinity ist, zum dieser Anwendung zu entwickeln und diese Frage einige kundenspezifische Tabellen und 2 Sitefinity eingebautes tables.
miteinbezieht
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
public statisches IQueryable GetUserDetailsById (Guid userID)
        {
            //Create ein Fall des TicketRequestDataContext Gegenstandes.
            TicketRequestDataContext DB = neues TicketRequestDataContext ();

            IQueryable userDetails = von u in db.telerik_UserMetaInfos
                                     wo u.UserId == userID
                                     neues vorwählen
                                     {
                                         FirstName = (von f in db.telerik_UserMetaInfos
                                                      wo f.PropertyName == „FirstName“
                                                      f.Text vorwählen),
                                         LastName = (von L in db.telerik_UserMetaInfos
                                                     wo l.PropertyName == „LastName“
                                                     l.Text vorwählen),
                                         EMail = (von e in db.telerik_Users
                                                  wo e.UserId == userID
                                                  e.Email vorwählen). Aussondern (),
                                         JobTitle = (von J in db.telerik_UserMetaInfos
                                                     wo j.PropertyName == „JobTitle“
                                                     j.Text vorwählen),
                                         DirectPhone = (von d in db.telerik_UserMetaInfos
                                                        wo d.PropertyName == „DirectPhone“
                                                        d.Text vorwählen),
                                         Mobiltelefon = (von m in db.telerik_UserMetaInfos
                                                        wo m.PropertyName == „Mobiltelefon“
                                                        m.Text vorwählen),
                                         FaxNumber = (von f in db.telerik_UserMetaInfos
                                                      wo f.PropertyName == „FaxNumber“
                                                      f.Text vorwählen),
                                         Address1 = (von a in db.telerik_UserMetaInfos
                                                     wo a.PropertyName == „Address1“
                                                     a.Text vorwählen),
                                         Address2 = (von a in db.telerik_UserMetaInfos
                                                     wo a.PropertyName == „Address2“
                                                     a.Text vorwählen),
                                         Stadt = (von c in db.telerik_UserMetaInfos
                                                 wo c.PropertyName == „Stadt“
                                                 c.Text vorwählen),
                                         Land = (von c in db.telerik_UserMetaInfos
                                                    wo c.PropertyName == „Land“
                                                    c.Text vorwählen),
                                         Postleitzahl = (von c in db.telerik_UserMetaInfos
                                                     wo c.PropertyName == „Postleitzahl“
                                                     c.Text vorwählen),

                                     };

            RückholuserDetails;
        }
Attachments:

Antwort : Schreiben der eleganten LINQ Fragen using lamda Ausdrücke

Hallo markerasmus;

Sehen, wenn dieses Ihre Notwendigkeiten passt.

Fernando
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
allgemeines statisches IQueryable GetUserDetailsById (Guid userID)
{
    //Create ein Fall des TicketRequestDataContext Gegenstandes.
    TicketRequestDataContext DB = neues TicketRequestDataContext ();

    IQueryable userDetails = (von u in db.telerik_UserMetaInfos
                              wo u.UserId == userID
                              u durch u.UserId in ug gruppieren
                              neues vorwählen
                              {
                                  FirstName = ug. Wo (F-N => fn.PropertyName == „FirstName“). Vorwählen (F-N = F-N. Text). Zuerst (),
                                  LastName = ug. Wo (ln => ln.PropertyName == „LastName“). Vorwählen (ln = ln. Text). Zuerst (),
                                  EMail = db.telerik_Users.Where (u => u.UserId == userID). Vorwählen (u = u.Email). Zuerst (),
                                  JobTitle = ug. Wo (J => j.PropertyName == „JobTitle“). Vorwählen (J = j.Text). Zuerst (),
                                  DirectPhone = ug. Wo (d => d.PropertyName == „DirectPhone“). Vorwählen (d = d.Text). Zuerst (),
                                  Mobiltelefon = ug. Wo (m => m.PropertyName == „Mobiltelefon“). Vorwählen (m = m.Text). Zuerst (),
                                  FaxNumber = ug. Wo (f => f.PropertyName == „FaxNumber“). Vorwählen (f = f.Text). Zuerst (),
                                  Address1 = ug. Wo (ein => a.PropertyName == „Address1“). Vorwählen (a = a.Text). Zuerst (),
                                  Address2 = ug. Wo (ein => a.PropertyName == „Address2“). Vorwählen (a = a.Text). Zuerst (),
                                  Stadt = ug. Wo (c => c.PropertyName == „Stadt“). Vorwählen (c = c.Text). Zuerst (),
                                  Land = ug. Wo (c => c.PropertyName == „Land“). Vorwählen (c = c.Text). Zuerst (),
                                  Postleitzahl = ug. Wo (c => c.PropertyName == „Postleitzahl“). Vorwählen (c = c.Text). Zuerst ()
                              }) .FirstOrDefault ();

    RückholuserDetails;
}
Weitere Lösungen  
 
programming4us programming4us