热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

这样的逻辑LINQ能造到吗?

有表A与表B一对多A的字段L连接到B的字段LB有L和Data字段问题是.我想要取出A表的值,和B表对应于A表L的值的按Data排序的第一个值lin
有表A与表B
一对多 

A的字段 L 连接到 B 的字段L
B有L和Data字段

问题是.

我想要取出 A表的值, 和B表对应于A表L的值的按Data排序的第一个值

linq又不能用一下方式:

from X in A
(from X in B).First()
select ...


这样的逻辑LINQ能造到吗..?



7 个解决方案

#1


你的意思是两表join吗?
db.A.Join(db.B, a=>a.L, b=>b.L, (a,b)=>new{a,b}).Orderby(c=>c.b.Data).First();
我习惯用Lambda

#2


不是....
在表A里面有表B的实体...

可以直接 

        var v = from A in DB.A
                from B in A.B
                select new {
                    A.字段
                    B.字段 }
这样连..

但是现在的问题是B有很多数据,我只是想要排序后的第一条数据..

linq不能
        var v = from A in DB.A
                (from B in A.B
                 orderby B.Data).First()
                select new {
                    A.字段
                    B.字段 }
这样写... 

把所有数据拿出来在排序的话比较浪费资源.因为表B里面的数据比较多,而我只是需要一行..



#3


楼主试试这样:
var q = from a in DA.A select new{a.字段,a.B.OrderBy(o => o.Data).First().字段}

#4


var v = from A in DB.A 
        join from B in A.B on A equals  A.l=B.l
        orderby B.Data.First() 
        select new { 
                    A.字段 
                       B.字段 } 

#5


var v = from A in DB.A 
        join from B in A.B orderby B.Data.First()  on A equals  A.l=B.l 
        select new { 
                    A.字段 
                      B.字段 } 

#6


]
//try:

var q =from a in db.a
       select new {
                    a.l,
                    data =
                        from b in db.b
                        where b.l equals a.l
orderby b.data
                        select b.data,
                };

#7


顶啊

推荐阅读
  • MicrosoftDeploymentToolkit2010部署培训实验手册V1.0目录实验环境说明3实验环境虚拟机使用信息3注意:4实验手册正文说 ... [详细]
  • 本文总结了在SQL Server数据库中编写和优化存储过程的经验和技巧,旨在帮助数据库开发人员提升存储过程的性能和可维护性。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 在使用 Cacti 进行监控时,发现已运行的转码机未产生流量,导致 Cacti 监控界面显示该转码机处于宕机状态。进一步检查 Cacti 日志,发现数据库中存在 SQL 查询失败的问题,错误代码为 145。此问题可能是由于数据库表损坏或索引失效所致,建议对相关表进行修复操作以恢复监控功能。 ... [详细]
  • 本文详细介绍了 TypeScript 中函数的多种定义方式,包括命名函数、匿名函数、类型别名和接口。同时,还探讨了函数参数的可选性、默认值、剩余参数以及函数重载等高级特性。 ... [详细]
  • Tornado框架中模块与静态文件的应用
    本文详细介绍了Tornado框架中模块和静态文件的使用方法。首先明确模块与模板的区别,然后通过具体的代码示例展示如何在HTML文档中使用模块,并配置模块的路由。最后,提供了模块类中参数获取的示例。 ... [详细]
  • 多线程基础概览
    本文探讨了多线程的起源及其在现代编程中的重要性。线程的引入是为了增强进程的稳定性,确保一个进程的崩溃不会影响其他进程。而进程的存在则是为了保障操作系统的稳定运行,防止单一应用程序的错误导致整个系统的崩溃。线程作为进程的逻辑单元,多个线程共享同一CPU,需要合理调度以避免资源竞争。 ... [详细]
  • 原文网址:https:www.cnblogs.comysoceanp7476379.html目录1、AOP什么?2、需求3、解决办法1:使用静态代理4 ... [详细]
  • 解决问题:1、批量读取点云las数据2、点云数据读与写出3、csf滤波分类参考:https:github.comsuyunzzzCSF论文题目ÿ ... [详细]
  • 在 Java 中,`join()` 方法用于使当前线程暂停,直到指定的线程执行完毕后再继续执行。此外,`join(long millis)` 方法允许当前线程在指定的毫秒数后继续执行。 ... [详细]
  • 本文介绍了并查集(Union-Find算法)的基本概念及其应用。通过一个具体的例子,解释了如何使用该算法来处理涉及多个集合的问题。题目要求输入两个整数 n 和 m,分别表示总人数和操作次数。算法通过高效的合并与查找操作,能够快速确定各个元素所属的集合,适用于大规模数据的动态管理。 ... [详细]
  • Mac版Office 2021与2016:项目管理软件下载、安装及一键永久激活指南
    Mac版Office 2021与2016:项目管理软件下载、安装及一键永久激活指南 ... [详细]
  • 本文是Java并发编程系列的开篇之作,将详细解析Java 1.5及以上版本中提供的并发工具。文章假设读者已经具备同步和易失性关键字的基本知识,重点介绍信号量机制的内部工作原理及其在实际开发中的应用。 ... [详细]
  • 本文介绍了如何通过 Python 代码实现对字符串的特定反转操作。具体而言,给定一个字符串 s,要求在保持所有非英文字母字符位置不变的情况下,将所有英文字母(无论是小写还是大写)的位置进行反转。最终返回经过处理后的字符串 s。 ... [详细]
  • 在分析和解决 Keepalived VIP 漂移故障的过程中,我们发现主备节点配置如下:主节点 IP 为 172.16.30.31,备份节点 IP 为 172.16.30.32,虚拟 IP 为 172.16.30.10。故障表现为监控系统显示 Keepalived 主节点状态异常,导致 VIP 漂移到备份节点。通过详细检查配置文件和日志,我们发现主节点上的 Keepalived 进程未能正常运行,最终通过优化配置和重启服务解决了该问题。此外,我们还增加了健康检查机制,以提高系统的稳定性和可靠性。 ... [详细]
author-avatar
不可能爱你啊
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有