Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
有没有办法通过LINQ查询实现这一点?_Linq_Entity Framework_C# 3.0_Linq To Entities - Fatal编程技术网

有没有办法通过LINQ查询实现这一点?

有没有办法通过LINQ查询实现这一点?,linq,entity-framework,c#-3.0,linq-to-entities,Linq,Entity Framework,C# 3.0,Linq To Entities,> 在我的存储库中,我声明IQueryable foos和ConfigEntities db=new ConfigEntities()然后使用linq查询数据库 foos = from f in _db.Foos select f; 每个Foo都有一个单独的EntityCollection条集合,由实体框架自动填充 我希望迭代每个Foo中的foos集合和bars集合,并根据日期修改bars集合,如: from foo in foos (from bar in foo.ba

>

在我的存储库中,我声明
IQueryable foos
ConfigEntities db=new ConfigEntities()
然后使用linq查询数据库

foos = from f in _db.Foos
       select f;
每个Foo都有一个单独的
EntityCollection条集合
,由实体框架自动填充

我希望迭代每个Foo中的foos集合和bars集合,并根据日期修改bars集合,如:

from foo in foos
    (from bar in foo.bars
         where bar.Date < someDate && bar.Date >= someOtherDate
         select bar)
     select foo
来自foos中的foo的

(来自于foo.bar中的bar)
其中bar.Date=someOtherDate
选择栏)
选择foo
所以我用原始条的一个子集取回所有的foo。我不知道怎么做,但我想我想在select中进行select或类似的操作

任何帮助都将不胜感激

from foo in foos
from bar in foo.bars
where bar.Date == DateTime.Now
select new { foo, bar }
或者(已编辑,考虑到您没有
Foo
的相应构造函数)

这将提供一个“元组”集合,其中每个元组将包含原始的
Foo
(带有所有
s)以及所需的
s的集合

或者(已编辑,考虑到您没有
Foo
的相应构造函数)


这将产生一个“元组”集合,其中每个元组将包含原始的
Foo
(带有所有
s)以及所需的
s的集合。

Hm,这对我来说似乎有点反相对论:在一个已经存在了一定时间的集合中,条目怎么会有一个值为
DateTime的条目呢?您不想选择属性值在特定范围内的条目吗?我(错误地)理解了,您只是想将属性
Date
设置为
DateTime。现在是
,不是吗?很抱歉,使用
DateTime.Now
只是为了说明。事实上,我确实是在检查某个范围内的日期。我将进行编辑以反映同样的情况。嗯,这对我来说似乎有点反相对论:在一个已经存在了一定时间的集合中,如何才能有一个值为
DateTime的条目。现在
?您不想选择属性值在特定范围内的条目吗?我(错误地)理解了,您只是想将属性
Date
设置为
DateTime。现在是
,不是吗?很抱歉,使用
DateTime.Now
只是为了说明。事实上,我确实是在检查某个范围内的日期。我将进行编辑以反映相同的情况。对于您的第一个示例-每次有一个具有匹配条的foo时,是否会创建一个新的foo和bar对象?ie foo1具有与
where
子句匹配的条数组=bar1、bar2、bar3-Ex1不返回fooA和BarA、fooB和BarB、FooC和BarC吗?在我看来,每次酒吧匹配时,它都会创建一个新的foo。看起来你可能对示例2有所了解-我一定会在周一查看@ScottSEA:不,第一个查询没有创建任何Foo或Bar,它会返回每个匹配的Bar以及相应的Foo。我没有一个构造函数,比如示例2,这感觉很像我正在寻找的。问题是,
EntityCollection bars
集合是由实体框架动态创建的,
select bar
行返回一个IQueryable,而不是EntityCollection。我在这里真正被难住了。对于第一个示例,每次有一个具有匹配条的foo时,会创建一个新的foo和bar对象吗?ie foo1具有与
where
子句匹配的条数组=bar1、bar2、bar3-Ex1不返回fooA和BarA、fooB和BarB、FooC和BarC吗?在我看来,每次酒吧匹配时,它都会创建一个新的foo。看起来你可能对示例2有所了解-我一定会在周一查看@ScottSEA:不,第一个查询没有创建任何Foo或Bar,它会返回每个匹配的Bar以及相应的Foo。我没有一个构造函数,比如示例2,这感觉很像我正在寻找的。问题是,
EntityCollection bar
集合是由实体框架动态创建的,
select bar
行返回一个IQueryable,而不是我真正在这里遇到的EntityCollection。
from foo in foos
select new
{
  Foo = foo, 
  Bars = from bar in foo.bars
         where bar.Date == DateTime.Now
         select bar
}