Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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
C# 如何将此查询转换为方法语法?_C#_.net_Linq_Methods_Syntax - Fatal编程技术网

C# 如何将此查询转换为方法语法?

C# 如何将此查询转换为方法语法?,c#,.net,linq,methods,syntax,C#,.net,Linq,Methods,Syntax,我现在很想知道如何转换此查询语法: Esperienze = (from e in Esperienze from p in e.PeriodiValidita.Cast<PeriodoValidita>() where UiUtils.IntersectDatesRanges(DateTime.Parse(p.ValidoDal), DateTime.Parse(p.ValidoAl), DataInizioDT, DataFin

我现在很想知道如何转换此查询语法:

Esperienze = (from e in Esperienze
             from p in e.PeriodiValidita.Cast<PeriodoValidita>()
             where UiUtils.IntersectDatesRanges(DateTime.Parse(p.ValidoDal), DateTime.Parse(p.ValidoAl), DataInizioDT, DataFineDT)
             select e).Distinct();
Esperienze=(来自Esperienze中的e)
来自e.PeriodiValidita.Cast()中的p
其中UiUtils.IntersectDatesRanges(DateTime.Parse(p.ValidoAl)、DateTime.Parse(p.ValidoAl)、DataInizioDT、DataFineDT)
选择e).Distinct();
在LINQ中创建方法语法<代码>。根据我得到的信息选择多个?

翻译成

据我所知

翻译成


使用Intellisense应该很容易映射,不是吗?我不知道如何合并两个初始from/from SelectMany+Distinct的组合是正确的映射方式go@Andrew:您能给我们举个例子吗?抱歉,您似乎正在选择电子体验项目。。查询应该是这样的
context.Esperienze.Where(e=>e.PeriodiValidita.Any(p=>UiUtils.IntersectDatesRanges(DateTime.Parse(p.ValidoAl)、DateTime.Parse(p.ValidoAl)、dataniziiodt、DataFineDT)).Distinct().ToList()应该很容易使用Intellisense进行映射,否?我不知道如何合并这两个首字母from/from SelectMany+Distinct的组合是正确的合并方法go@Andrew:您能给我们举个例子吗?抱歉,您似乎正在选择电子体验项目。。查询应该是这样的
context.Esperienze.Where(e=>e.PeriodiValidita.Any(p=>UiUtils.IntersectDatesRanges(DateTime.Parse(p.ValidoAl)、DateTime.Parse(p.ValidoAl)、dataniziiodt、DataFineDT)).Distinct().ToList()
Esperienze
    .SelectMany(e => e.PeriodiValidita.Cast<PeriodoValidita>(), (e, p) => new { e, p })
    .Where(τ0 => UiUtils.IntersectDatesRanges(
        DateTime.Parse(τ0.p.ValidoDal),
        DateTime.Parse(τ0.p.ValidoAl),
        DataInizioDT,
        DataFineDT))
    .Select(τ0 => τ0.e)
    .Distinct()
from x1 in e1
from x2 in e2
…
from * in ( e1 ) . SelectMany( x1 => e2 , ( x1 , x2 ) => new { x1 , x2 } )
…