[英]I want to get 2 values returned by my query. How to do, using linq-to-entity
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]);
}
编辑
在上一个问题中我问过。
对于单一值,我得到了这样的答案。 两者有什么区别 ?
foreach (long? dept in dept_list) {
dt.Rows.Add(dept);
}
foreach (var dept_ in dept_list)
{
dt.Rows.Add(dept_.dept_id, dept_dept_name);
}
答案编辑
我想您先前的问题中dept_list的类型为IEnumerable,但在此问题中的类型为IEnumerable,其中T是匿名类型
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.