【问题标题】:'IN' clause in linqlinq 中的“IN”子句
【发布时间】:2014-03-22 12:46:10
【问题描述】:

我有一个表名“actorlist”,列“id”和“ActorName”,其中包含 50 行,还有另一个表名“addrecord”,列“iid”,“Actor1”,“Actor2”, “演员 3”、“演员 4”。 “actorlist”中的“id”列和“addrecord”中的“iid”列不同。

我必须从“actorlist”中找到所有不在“Actor1”、“Actor2”、“Actor3”、“Actor4”列中的“ActorName”。这个结果的 LInq 查询是什么?请注意,“addrecord”表只有一行。

请帮帮我.....

【问题讨论】:

标签: linq asp.net-mvc-3 razor


【解决方案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

【讨论】:

  • public static List comedianlist(int iid) { List newlst = new List(); ISRCManagementDBEntities1 dbcontext = new ISRCManagementDBEntities1(); newlst=(from z in dbcontext.Comedians where !(from b in dbcontext.mainISRCs where b.id==iid && b.Actor1==z.Comedian1 || b.Comedian1==z.Comedian1 || b.Comedian3= =z.Comedian1 || b.Comedian4==z.Comedian1).Any() 选择 z.Comedian1).ToList();返回最新; }
  • 在 .any() 处显示错误“linq 查询正文必须以 select 子句或 group 子句结尾”请检查一下,先生,请帮帮我..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-16
  • 1970-01-01
  • 2010-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多