c# - 在两个选定列表中拆分 linq 连接查询并使用 Tuple 返回两个列表

标签 c# linq entity-framework tuples

具有以下代码:实体 linq 查询结果选择两个表。 查询中所有数据可用,但无法将结果拆分为两个列表。

 public Tuple<List<sale>, List<product>>  SearchProduct(int productId = -1, string searchProduct = "")
    {
        //ToDo: searchProduct not working...gives nothing
        var companyId = DalSession.DalGetCurrentUser().Company_ID;
        using (var entity = new secondsoftEntities())
        {
            var query = (from s in entity.sales
                         join p in entity.products on s.Product_ID equals p.ProductID
                         where productId > 0 ? s.Product_ID == productId : s.Company_ID == companyId
                         select new { s, p }).ToList();
            if (!string.IsNullOrEmpty(searchProduct))
              {
                query = query.FindAll(x => x.p.Description.ToLower().Contains(searchProduct.ToLower()));
             } 



            // split s as List<sale> and p as List<product> to tuple output


            return Tuple.Create(new List<sale>(), new List<product>() );
        }
    }

在查询结果中,我看到了 s 和 p,但是如何将它们精确地作为一个列表,其中包含属性,以便我可以在元组中返回它们。

谢谢迪南

最佳答案

return Tuple.Create(query.Select(x => x.s).ToList(),
                    query.Select(x => x.p).ToList());

关于c# - 在两个选定列表中拆分 linq 连接查询并使用 Tuple 返回两个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28887946/

相关文章:

c# - Entity Framework 检索不同的实例

c# - Datagrid 嵌套在另一个 datagrid RowDetailsTemplate 中断鼠标滚轮滚动

c# - Xamarin ScrollView 应该跳到底部

javascript - jQuery 像 Linq 一样?

c# - Entity Framework Code First 中的有效原始属性是什么?

c# - Select() 内部的 bool 值

c# - .Net 家伙需要一些关于 Cocoa 的信息

c# - 根据值决定创建哪个派生类?

asp.net - 插入图像并更新它(如果存在)

c# - 在 C# 中按权重选择随机元素的最简洁方法是什么?