如何在linq中使用IN子句

如何在linq中使用IN子句,linq,asp.net-mvc-3,razor,Linq,Asp.net Mvc 3,Razor,我有一个表名comedian,列为'id','comedian'和'IsActive',其中包含50行,还有另一个表名mainISRC,列为'id','Actor1','Actor2','Actor3','Actor4'actorlist中的“id”列和addrecord中的“iid”列不相同 我必须从喜剧演员中找出那些不在“Actor1”、“Actor2”、“Actor3”、“Actor4”列中的“喜剧演员”。对此的Linq查询是什么 最终更新代码 抱歉,代码未经测试,但它可能会帮助您或为您提

我有一个表名comedian,列为'id','comedian'和'IsActive',其中包含50行,还有另一个表名mainISRC,列为'id','Actor1','Actor2','Actor3','Actor4'actorlist中的“id”列和addrecord中的“iid”列不相同

我必须从喜剧演员中找出那些不在“Actor1”、“Actor2”、“Actor3”、“Actor4”列中的“喜剧演员”。对此的Linq查询是什么

最终更新代码 抱歉,代码未经测试,但它可能会帮助您或为您提供指导

public static List<mainISRC> comedianlist(int iid)
{
     List<mainISRC> newlst = new List<mainISRC>();
     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()
             select z.Comedian1).ToList();            
     return newlst;
}

这个密码不起作用,先生。请帮帮我,先生..请与操作人员一起尝试,先生。。我已将您的代码修改为List liComedian=新列表;liComedian=dbcontext.comesians.ToList;List limainISRC=新列表;在dbcontext.mainISRCs中,limainISRC=from z,其中z.id==iid选择z.ToList;var FilteredList=limainisc.Wherew=>!李科梅迪亚语。Containsw.Actor1 | | |!李科梅迪亚语。Containsw.Actor2 | | |!liComedian.Containsw.Actor3.ToList;“System.Collections.Generic.List.ContainsISRCMANAGER.Models.Comedian”的最佳重载方法匹配有一些无效参数
  List<int> liComedianId = new List<int> ();
liComedianId = dbcontext.Comedians.Select(s => (int)s.Id).ToList();

List<mainISRC> limainISRC = new List<mainISRC> ();
limainISRC = dbcontext.mainISRCs.ToList();

var d = ((from a in limainISRC.Select(s => s.Actor1).ToList()
select a).TolList().Union
            (from b inlimainISRC.Select(s => s.Actorb).ToList()
select b).Tolist()).ToList();
d = d.Distinct();

licomedianId =  licomedianId.Select(s => !d.Contain(s));

List<comedian> LIcomedianFinal = new List<comedian> ();
LIcomedianFinal =  dbcontext.Comedians.ToList();
var FinalList =(from a in  LIcomedianFinal .ToList()
                join b in d.TolIst()
                on a.Id equlas d).ToList();