USR_MSTR
- Liste der Benutzer, die die AnwendungLINQ konvertieren mit mehreren Spalten Array (von der 2. LINQ verwendet werden)
PERSONNEL_MSTR
verwenden können - Repository für alle Benutzer und ihre Daten (Vorname, Nachname, etc .).
Mein Ziel ist es, die Liste der Benutzer anzuzeigen, die die Anwendung mit ihren Details verwenden können. Also habe ich einen LINQ gemacht, um den USR_MSTR
zu bekommen und vergleiche ihn mit dem 2. LINQ, der den PERSONNEL_MSTR
bekommt. Mein Problem ist, ich bin mir noch nicht sicher, wie man die anderen Details außer EMP_ID
unter Verwendung des Feldes weitergibt und es für den 2. LINQ benutzt.
Hinweis: Ich kann den anonymen Typ nicht verwenden, da ich Fehler damit habe.
//Get list of login users
var users = from u in _odb.USR_MSTR
select new UserInformationModel
{
empid = u.EMP_ID,
startdate = u.BGN_DT,
enddate = u.END_DT,
usegroupid = u.USR_GRP_ID
};
string[] userList = users.Select(u => u.empid).ToArray();
//Get user information of login users
var userPersonnel = from p in _odb.PERSONNEL_MSTR
where userList.Contains(p.EMP_ID)
select new UserInformationModel
{
empid = p.EMP_ID,
firstname = p.FNAME,
middlename = p.LNAME,
lastname = p.LNAME,
emailadd = p.EMAIL,
//Need to get the startdate, enddate and usergroupid from var users.
//How do I pass that to string[] userList and use it here?
};
Verwenden Sie einfach einen 'Join', um die Tabellen auf' EMP_ID' zu verbinden (nur eine Abfrage erforderlich) –
Aber ich muss SQL 'IN' verwenden, um die in der Benutzertabelle vorhandenen personnels zu erhalten. Soweit ich weiß, haben LINQ keine direkte Entsprechung dazu. Deshalb verwende ich 2 LINQs –
Oh, ich kann jetzt Ihren Punkt sehen. Also abgesehen von dem Vergleich mit dem Array von 'userList' kann ich' JOIN' verwenden, um die anderen Details zu bekommen :) Ich fühle mich dumm haha –