Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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# 在lambda表达式中包含元素列表_C#_Linq - Fatal编程技术网

C# 在lambda表达式中包含元素列表

C# 在lambda表达式中包含元素列表,c#,linq,C#,Linq,您好,我正在尝试通过指定需要包含的元素列表来使用即时加载。这是我编写的表达式: public class Prefetch<TEntity> { private readonly List<LambdaExpression> items = new List<LambdaExpression>(); public Prefetch<TEntity> Include<TPath>(Expression<Func&l

您好,我正在尝试通过指定需要包含的元素列表来使用即时加载。这是我编写的表达式:

public class Prefetch<TEntity>
{
    private readonly List<LambdaExpression> items = new List<LambdaExpression>();

    public Prefetch<TEntity> Include<TPath>(Expression<Func<TEntity, TPath>> path)
    {
        this.items.Add(path);

            return this;
        }
}

 private static IEnumerable<string> GetCoverPrefetch()
    {

         new Prefetch<ContractCoverInstance>().Include(x => x.Tariff.AksAssumptionData.ToList().ForEach(x => x.MortalityTableMainInsuredMale))
    }
公共类预取
{
私有只读列表项=新列表();
公共预取包含(表达式路径)
{
此.items.Add(路径);
归还这个;
}
}
私有静态IEnumerable GetCoverPrefetch()
{
新的预回迁().Include(x=>x.primary.aksasumptiondata.ToList().ForEach(x=>x.verititytablemainsuredmale))
}
我不确定我所写的内容是否正确,是否会达到我预期的效果,我无法测试应用程序一段时间,因为有一系列编译错误,由于一些模型更改,需要在测试应用程序之前进行更正

这就是我相信这个表达可以做到的。如果我错了,请纠正我:

对于列表中产生AksAssumptionData的每个元素,获取 死亡险维持保险价格并包括在内

如果这是不正确的,那么我如何实现我刚才在lambda表达式中所说的

  • 项目
    应该是
    数量的列表
    。。。为什么要列出lambda表达式
  • 您正在使用Include,就好像它是一个单例。。。在我看来,这不是一个好的设计
  • 根据签名,
    GetCoverPrefetch
    应该返回一个
    IEnumerable
    ,但是您希望字符串包含什么?您没有从函数返回字符串。您只是在使用
    ForEach
    什么也不做-它会给您一个编译错误。您应该使用普通的
    foreach
    并使用
    yield return
    ,或者只使用
    return new Prefetch()。Include(…)
    ,但Include返回的不是
    IEnumerable
    ,而是
    列表
  • 这没有任何意义。即使您正确地从
    GetCoverPrefetch()
    返回了
    它将只包含您传入的lambda表达式。所以它什么也不做

  • 我建议您更正代码中的其他错误,测试此查询,如果您有问题,请返回。这更像是一个sintax问题,而不是应用程序中的实际问题,并且系统的某些部分我无法触及,必须为其他部分w8为什么不从外部测试代码?复制类并提供一些虚拟数据来处理并不困难