gpt4 book ai didi

c# - 使用linq在查找表中查找记录

转载 作者:太空宇宙 更新时间:2023-11-03 20:23:42 25 4
gpt4 key购买 nike

我正在掌握 LINQ,并且坚持在对象中实现查找表然后查询该对象(或其关联)的基本概念和技术。这可能是一个愚蠢的问题,并且可能有一个我应该自己解决的答案。但我还没有找到使该方法坚持下去的解释。

所以我创建了一个这样的示例数据库结构

Example Database

我想要两个 LINQ 查询,第一个为我提供所有通过查找与指定的 object1 相关的 example2 记录,第二个为我提供我所有与指定 object2

相关的 example1 记录

希望有人能启动我的大脑。

有点像

var examples = (from e in db.examples where e.example2.id == id).ToList();

快速编写SQL查询

SELECT * FROM [dbo].[example1] one
JOIN [dbo].[examplelookup] lu ON one.[id] = lu.[example1id]
JOIN [dbo].[example2] two ON lu.[example2id] = two.[id]
WHERE one.[id] = 1

刚刚完成并创建了这个我认为应该解释得更多一些

model

最佳答案

我知道您接受了一个答案,但仅作记录:

这是一个使用Any()的常见场景,在sql中转化为一个exists。如果您希望 example1 引用特定的 example2(由 id 指定),请执行以下操作:

from ex1 in example1
where ex1.example2s.Any(e => e.id = id)
select ex1

这为您提供了一个不同的 example1 对象列表,而使用 SelectMany 的解决方案可能会生成一个包含重复项的列表。

关于c# - 使用linq在查找表中查找记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11969185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com