Ich möchte 2 Werte durch meine Abfrage zurückgegeben bekommen. Wie zu tun, mit Linq-to-Einheit
-
04-10-2019 - |
Frage
var dept_list = (from map in DtMapGuestDepartment.AsEnumerable()
where map.Field<Nullable<long>>("GUEST_ID") == DRowGuestPI.Field<Nullable<long>>("PK_GUEST_ID")
join
dept in DtDepartment.AsEnumerable()
on map.Field<Nullable<long>>("DEPARTMENT_ID") equals dept.Field<Nullable<long>>("DEPARTMENT_ID")
select new
{
dept_id=dept.Field<long>("DEPARTMENT_ID")
,dept_name=dept.Field<long>("DEPARTMENT_NAME")
}).Distinct();
DataTable dt = new DataTable();
dt.Columns.Add("DEPARTMENT_ID");
dt.Columns.Add("DEPARTMENT_NAME");
foreach (long? dept_ in dept_list)
{
dt.Rows.Add(dept_[0], dept_[1]);
}
Bearbeiten
In der vorherige Frage gestellt von mir.
Ich bekam eine Antwort, wie dies für Einzelwert. Was ist der Unterschied zwischen den beiden?
foreach (long? dept in dept_list) {
dt.Rows.Add(dept);
}
Lösung
foreach (var dept_ in dept_list)
{
dt.Rows.Add(dept_.dept_id, dept_dept_name);
}
Antwort auf Bearbeiten
Ich denke, dass in Ihrer vorherigen Frage dept_list vom Typ war IEnumerable aber in dieser Frage ist es vom Typ IEnumerable wobei T ein anonymer Typ
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow