var Query2 = from x in CoreDatabase.Set<tblPerson>()
.Include(a => a.tblApplicationInterface.Select(b => b.tblApplicationName)
.Where(c => c.AppplicationName == "MshHumanResources"))
select x;
我得到Include路径表达式必须引用在类型上定义的导航属性。使用虚线路径作为参考导航属性,使用Select运算符作为集合导航属性。 我只是想写
这里有用的东西:
Select *
From tblPerson a INNER JOIN tblApplicationInterface b
on a.id = b.id
INNER Join tblApplicationName c
ON b.fkid=c.id
Where b.ApplicationName like 'MshHumanResources'
答案 0 :(得分:2)
var Query2 = from a in CoreDatabase.Set<tblPerson>()
join b in CoreDatabase.Set<tblApplicationInterface>() on a.id equlas b.id
join c in CoreDatabase.Set<tblApplicationName>() on b.fkid equals c.id
where c.AppplicationName == "MshHumanResources"
select a;
这只是从A中选择列 - 如果要从其他表中选择列,请创建一个类来组合所需的字段或使用匿名类型。
答案 1 :(得分:0)
试试这个:
var Query2 = CoreDatabase.Set<tblPerson>
.Include("tblApplicationInterface")
.Include("tblApplicationInterface.tblApplicationName")
.Where(x => x.ApplicationName == "MshHumanResources");
答案 2 :(得分:0)
直接,你可以说
var people = CoreDatabase.Set<tblPerson>().Where( p =>
p.tblApplicationInterface.tblApplicationName.ApplicationName == "MshHumanResources" );
如果我正确理解您的导航属性。这将选择应用程序界面的应用程序名称为MshHumanResources的人。