我有一个表名" actorlist"列' id'和' ActorName'其中包含50个行数,还有另一个表名" addrecord"与列' iid','演员1','演员2','演员3','演员4'。 ' ID'列"演员名单"并且' iid'列" addrecord"不一样。
我必须找到所有那些' ActorName'来自"演员名单"不属于演员1','演员2','演员3','演员4'柱。 LInq将查询此结果的内容是什么?请注意" addrecord"表只有一行。
请帮助我.....
答案 0 :(得分:1)
这是一个可能的LINQ来获得你所描述的问题(方法语法):
DataContext.actorlists
.Select(o => o.ActorName)
.Where(o => !DataContext
.addrecords
.Any(p => p.Actor1 == o.ActorName ||
p.Actor2 == o.ActorName ||
p.Actor3 == o.ActorName ||
p.Actor4 == o.ActorName))
或者如果您更喜欢查询语法,可以试试这个:
from a in DataContext.actorlists
where !(from b in DataContext.addrecords
where b.Actor1 == a.ActorName
|| b.Actor2 == a.ActorName
|| b.Actor3 == a.ActorName
|| b.Actor4 == a.ActorName).Any()
select a.ActorName