我想获取查询返回的 2 个值。如何使用 linq-to-entity

发布于 2024-09-02 14:49:21 字数 1220 浏览 2 评论 0原文

            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);
}
            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]);
            }

EDIT

In the previous question asked by me.

I got an answer like this for single value. What is the difference between the two ?

foreach (long? dept in dept_list) {
    dt.Rows.Add(dept);
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酒儿 2024-09-09 14:49:21
foreach (var dept_ in dept_list)
{
   dt.Rows.Add(dept_.dept_id, dept_dept_name);
}

编辑的答案

我猜在您之前的问题中,dept_list 的类型为 IEnumerable
但在这个问题中,它是 IEnumerable 类型,其中 T 是匿名类型

foreach (var dept_ in dept_list)
{
   dt.Rows.Add(dept_.dept_id, dept_dept_name);
}

answer for EDIT

I guess that in your previous question dept_list was of type IEnumerable
but in this question it is of type IEnumerable where T is an anonymous type

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文