Kyl*_*Ren 6 c# linq entity-framework
我被困在LINQ查询中,我试图从SQL Table使用中返回列表记录EntityFramework 6,而不是获取该列表,我最终得到一个IEnumerable<string[]>.
这就是我的目标IEnumerable<string[]>.我有一个column在table需要被拆分,然后我测试,以查看是否list包含这些字符串:表列中的值columnOne可以是这样"a-b"还是"b-c"等,因此使用这种需要s.columnOne.Split('-')
list<string> checkList = new list<string>();
checkList.add("a")
checkList.add("b")
checkList.add("c")
List<Foo> fooList = dbContext.Foos.ToList();
IEnumerable<string[]> items = fooList.Select(s => s.columnOne.Split('-'));
var result = items.SelectMany(x => x)
.Where(s => checkList.Contains(s)).ToList();
Run Code Online (Sandbox Code Playgroud)
上面的工作应该如此,但最后它返回一个列表string,这不是我需要的.
我试过这个:
List<Foo> fooList = dbContext.Foos.ToList();
var test = fooList.Where(s => s.columnOne.Split('-'));
Run Code Online (Sandbox Code Playgroud)
这就是我遇到错误的地方,因为我最终会尝试返回一个列表<Foo>,而不是<string>
现在我知道该Where子句需要返回一个bool值fooList.Where(s => s.columnOne == "someString");,但是我不知道如何构建LINQ查询以获得我想要得到的结果.
任何正确方向的推动都会很棒.
where子句需要包含对的检查 checkList
var test = fooList.Where(foo => foo.columnOne.Split('-').Any(str => checkList.Contains(str)));
Run Code Online (Sandbox Code Playgroud)