我的数据库中有三个表:
我想要的是从wedstrijden表中获取这样的项目:
int id = 3;
var wedstrijden = from w in db.wedstrijden
where w.teams.teamleden.gebruikersid == id
select w;
不幸的是我收到以下错误:
编译器错误消息:CS1593:委派 'System.Func'不带1 参数
有没有人知道导致错误的原因或我在哪里可以找到问题的答案?
答案 0 :(得分:4)
属性wedstrijden.teams.teamleden
是可枚举的,因此您必须单独检查每个项目:
int id = 3;
var wedstrijden = from w in db.wedstrijden
where w.teams.teamleden.Any(t => t.gebruikersid == id)
select w;
答案 1 :(得分:3)
由于复数/单数形式的误用,你的名字很容易被误导。
问题是w.teams.teamleden.gebruikersid
对此图表毫无意义。
看起来就像wedstrijden.teams
意味着“团队”,实际上它是一个团队。
同样,看起来就像teams.teamleden
是一个单一实体,实际上关系是一对多。
因为许多teamleden
个实体与单个teams
实体匹配,所以你不能放点,它就像这样没有意义:
from p in db.Products
where p.Owner.Orders.ID == id // what would you expect this to mean?
select p