使用linq-to实体通过一个查询按特殊值搜索多个没有关系的表
本文关键字:搜索 没有关系 一个 实体 linq-to 使用 查询 | 更新日期: 2023-09-27 17:59:21
我有以下linq查询:
var bas = new BaskoolEntities();
var radif = "0011395000505000821";
var query = (from a in bas.ChekedList
where a.Radifkolsal == radif
from b in bas.PrioritedList
where b.Radifkolsal == radif
from c in bas.IssuedBills
where c.Radifkolsal == radif
select new
{
a,
b,
c
}).ToList();
我想通过使用C#中的Linq到Entity的一个查询,在数据库中的3个表中找到一个没有关系的字段。我是林克编程的新手,在谷歌上搜索它,但没有发现任何对我有用的结果。有人能给我一个解决方案吗?提前谢谢。
正如您的评论中所说,您想至少查找其中一个表是否有结果,您可以使用Any()
:执行类似的操作
var radif = "0011395000505000821";
var found = (from a in bas.ChekedList
where a.Radifkolsal == radif
|| bas.PrioritedList.Any(p => p.Radifkolsal == radif)
|| bas.IssuedBills.Any(i => i.Radifkolsal == radif)
select a).Any();
如果使用var result = ..... select a.Radifkolsal
,则会得到值0011395000505000821
或null。这对我来说是无用的,除非你的目标是找到(我是否有匹配的结果),这正是上面的查询所做的。