【问题标题】:how to use 'IN' clause in linq [duplicate]如何在linq中使用'IN'子句[重复]
【发布时间】:2014-03-24 05:28:28
【问题描述】:
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;
}

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

我必须从“喜剧演员”中找到所有不在“演员1”、“演员2”、“演员3”、“演员4”列中的“喜剧演员”。对此的 Linq 查询将是什么?

【问题讨论】:

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


【解决方案1】:

最终更新代码

抱歉,代码未经过测试,但它可能对您有所帮助或为您指明方向

  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();

【讨论】:

  • 此代码不起作用,先生。请先生帮帮我..
  • 用 && 运算符试试
  • 是的,先生。我已将您的代码修改为 List liComedian = new List(); liComedian = dbcontext.Comedians.ToList(); List limainISRC = new List(); limainISRC = (from z in dbcontext.mainISRCs where z.id == iid select z).ToList(); var FilteredList = limainISRC.Where(w => !liComedian.Contains(w.Actor1) || !liComedian.Contains(w.Actor2) || !liComedian.Contains(w.Actor3)).ToList();
  • 您是否有任何错误或您没有得到正确的输出
  • 'System.Collections.Generic.List.Contains(ISRCMANAGER.Models.Comedian)' 的最佳重载方法匹配有一些无效参数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-05
  • 2016-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-08
相关资源
最近更新 更多