例如y.Regions是一个集合,regionList也是一个集合,把这两个集合有交集的记录查询出来,linq查询条件怎么写(from y in db.Investors   where (y.Regions))

解决方案 »

  1.   

    var result=y.Regions.Intersect(regionList);
      

  2.   

     int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 };
        int[] numbersB = { 1, 3, 5, 7, 8 };
     
        var commonNumbers = numbersA.Intersect(numbersB);
     
        Console.WriteLine("Common numbers shared by both arrays:");
        foreach (var n in commonNumbers)
        {
            Console.WriteLine(n);
        }ResultCommon numbers shared by both arrays:
    5
    8
      

  3.   

    也可自定义规则:http://blog.csdn.net/q107770540/archive/2011/04/29/6371087.aspx
      

  4.   

    var query=  from y in db.Investors   
                from x in y.Regions
                where regionList.Contains(x)
                select x;具体的需求楼主可详细说明一下  或举个现成的例子
      

  5.   

    Intersect没有对应的关键字吗?
    想from 就对应 from 
      

  6.   


    (from y in db.Investors where (y.Regions)  select y)条件不会写
    我需要返回y,不是 条件是集合有交集
      

  7.   

    var query= from y in db.Investors   
      from x in y.Regions
      where regionList.Contains(x)
      select y;你能把 db.Investors的结构简单帖一下么
    还有regionList
      

  8.   

    (from y in db.Investors where (y.Regions) select y)条件不会写
    我需要返回y,条件是集合有交集
      

  9.   

    db.Investors 包含一个字段Regions, Regions是一个int的集合,
    regionList也是一个int的集合,
    在这两个集合有交集时查询记录,但要返回db.Investors的记录,不是单纯的一个字段Regions
      

  10.   

    var query= from y in db.Investors  
      from x in y.Regions
      where regionList.Contains(x)
      select y;这个有错误的
      

  11.   

    var query= from y in db.Investors    
      where  y.Regions.Any(x=>regionList.Contains(x))
      select y;试试 这个
      

  12.   

    var query= from y in db.Investors  
      where y.Regions.Any(x=>regionList.Contains(x))
      select y这样混用,有错误的
      

  13.   

    就编译不过去,划红线了
    Error 15 Cannot convert lambda expression to type 'string' because it is not a delegate type D:\newwork\SourceCode\Equidity\Equidity.Web\Repositories\InvetorRepository..cs 114 3 Equidity.Web
    Error 16 Delegate 'System.Func<Equidity.Web.Repositories.DataEntities.Investor,int,bool>' does not take 1 arguments D:\newwork\SourceCode\Equidity\Equidity.Web\Repositories\InvetorRepository..cs 114 3 Equidity.Web
    Error 17 The best overloaded method match for 'System.Collections.Generic.List<int>.Contains(int)' has some invalid arguments D:\newwork\SourceCode\Equidity\Equidity.Web\Repositories\InvetorRepository..cs 114 26 Equidity.Web
    Error 18 Argument 1: cannot convert from 'Equidity.Web.Repositories.DataEntities.Region' to 'int' D:\newwork\SourceCode\Equidity\Equidity.Web\Repositories\InvetorRepository..cs 114 46 Equidity.Web
      

  14.   

    你确定你数据中这两个都是int的集合么?
    单步调试吧