[英]How do I do queries against hierarchical data using LINQ to SQL?
我有 2 个相关的表。 每个应用程序都可以与许多应用程序相关联。 即office可以关联word,excel.......
应用程序
id PK 整数
应用程序名 varchar(50)
......
应用相关
relatedid int fk 到 app.id
appid int
示例数据应用程序 ID、应用程序名称
1、办公室
2、字
3、excel
4、地震
应用相关的相关id、appid
1, 2
1、3
基本上,我是 linq-to-sql 的新手,我有脑锁。
我想做以下查询。 我使用 vb.net 但 c# 没问题。 查询是返回所有与(1)无关的app,所以结果应该是(4,quake)。
提前致谢。
如果我理解正确,以下代码应该可以完成您的要求。
var relatedToApp1 = Context.appsrelated.Where(related => related.relatedid == 1);
var items = Context.app.Where(app => app.id != 1 && !relatedToApp1.Any(related => related.appid == app.id));
C# - 查找相关应用程序的 id,select ids,select 仅那些与相关应用程序无关的应用程序或其 id 不相关的应用程序。
var query = apps.Where( a => a.appid != 1
&& !appsrelated.Where( r => r.relatedid == 1 )
.Select( r => r.appid )
.Contains( a.appid ) );
对于那些在vb土地上的人。 这是结果查询。
Dim dc As New dashboardDataContext
Dim q = dc.appsrelateds _
.Where(Function(r) r.relatedid = 17)
Dim items = dc.ApplicationInfos _
Where(Function(app) app.Id <> 17 And Not q.Any(Function(related) related.appid = app.Id))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.