我有很多由实体框架创建的关系。
我尝试从具有许多关系的表中检索数据。
这个计划:
这是我创建的Linq:
var inspArchive = context
.Set<InspectionArchive>()
.Where(x => x.CustomerId == clientId && x.InspectionDomainId == domainId)
.Select(x=>x);
LINQ从inspectionArchives表获取记录满足条件的地方。
在上面的LINQ中,我需要再包含一个条件,考虑到InspectionAuthoreties表的ID。
如何更改上面的LINQ以考虑InspectionAuthoreties表的ID。
答案 0 :(得分:1)
使用package main
import "fmt" import "github.com/howeyc/gopass"
func main() {
fmt.Printf("Password: ")
pass := gopass.GetPasswd()
// Do something with pass }
from
建立您的查询。
您的位置将基于
InspectionAuthoreties inspectionArchives
双方加入并返回结果的InspectionArchive部分
答案 1 :(得分:1)
假设InspectionArchive
实体具有类型InspectionAuthority
的集合导航属性,那么您可以这样做:
int inspectionAuthId=3;
var inspArchive = context.Set<InspectionArchive>()
.Where(x => x.CustomerId == clientId
&& x.InspectionDomainId == domainId
&& x.InspectionAuthorities.Any(ia=>ia.Id==inspectionAuthId));
//.Select(x=>x); you don't need this select
另一种解决方案可能是使用查询表示法:
int inspectionAuthId=3;
var inspArchive = from ia in context.Set<InspectionArchive>()
from i in ia.InspectionAuthorities
where ai.CustomerId == clientId
&& ai.InspectionDomainId == domainId
&& i.Id==inspectionAuthId
select ia;