Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 实体框架。使用匿名类型和投影选择Many_Entity Framework - Fatal编程技术网

Entity framework 实体框架。使用匿名类型和投影选择Many

Entity framework 实体框架。使用匿名类型和投影选择Many,entity-framework,Entity Framework,我有一个多包的横幅。每个包有多个文件 我有以下疑问: List<BannerModel> models = context.Banners .Select(x => x.Packs .SelectMany(p => p.Files, (p, f) => new { Id = p.Id, Flag = p.Flag, File = new { Id = f.Id, Flag = f.Flag, K

我有一个多包的横幅。每个包有多个文件

我有以下疑问:

  List<BannerModel> models = context.Banners
    .Select(x => x.Packs
      .SelectMany(p => p.Files, (p, f) => new {
        Id = p.Id,
        Flag = p.Flag,
        File = new { Id = f.Id, Flag = f.Flag, Key = f.Key, Mime = f.Mime }
      })
      .Where(a => a.File.Flag == "Img_200")
      .Select(a => new BannerModel { PackId = a.Id, ImageKey = a.File.Key })
    ).ToList();
奇怪的是,我得到了10个项目,5个有数据,5个没有数据

我应该只得到5个项目的列表。满足标准的那个

有人能帮我解决这个问题吗

谢谢,, 米格尔应该是:

List<BannerModel> models = context.Banners
    .SelectMany(x => x.Packs
        .SelectMany(p => p.Files, (p, f) => new {
            Id = p.Id,
            Flag = p.Flag,
            File = new { Id = f.Id, Flag = f.Flag, Key = f.Key, Mime = f.Mime }
        })
    .Where(a => a.File.Flag == "Img_200")
    .Select(a => new BannerModel { PackId = a.Id, ImageKey = a.File.Key })
    ).ToList();
List models=context.banner
.SelectMany(x=>x.Packs)
.SelectMany(p=>p.Files,(p,f)=>new{
Id=p.Id,
Flag=p.Flag,
File=new{Id=f.Id,Flag=f.Flag,Key=f.Key,Mime=f.Mime}
})
.Where(a=>a.File.Flag==“Img_200”)
.Select(a=>newbannermodel{PackId=a.Id,ImageKey=a.File.Key})
).ToList();
List<BannerModel> models = context.Banners
    .SelectMany(x => x.Packs
        .SelectMany(p => p.Files, (p, f) => new {
            Id = p.Id,
            Flag = p.Flag,
            File = new { Id = f.Id, Flag = f.Flag, Key = f.Key, Mime = f.Mime }
        })
    .Where(a => a.File.Flag == "Img_200")
    .Select(a => new BannerModel { PackId = a.Id, ImageKey = a.File.Key })
    ).ToList();