You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将LINQ查询结果存入自定义的AdjustmentsList类型对象

解决方案:将LINQ查询结果存入自定义的AdjustmentsList类型

我来帮你搞定这个问题!问题的核心是你当前的LINQ查询返回的是匿名类型的List,而不是你自定义的Adjustments对象集合,所以没法直接转换成AdjustmentsList类型。下面给你几种简单的解决办法:

方法1:先生成Adjustments集合,再赋值给AdjustmentsList

首先修改你的LINQ查询,直接创建Adjustments对象而不是匿名类型:

// 先获取Adjustments类型的列表
var adjustmentsItems = (from a in a1 
                        join fx in q on a.CurrencyCodeID equals fx.CurrencyCodeID 
                        select new Adjustments 
                        { 
                            AdjustmentID = a.AdjustmentID, 
                            AdjustmentTypeID = a.AdjustmentTypeID 
                        }).ToList();

// 实例化AdjustmentsList并赋值items属性
var day0Spot = new AdjustmentsList { items = adjustmentsItems };

方法2:一步到位实例化AdjustmentsList

如果不想分开写,也可以直接在AdjustmentsList的初始化器里完成查询:

var day0Spot = new AdjustmentsList
{
    items = (from a in a1 
             join fx in q on a.CurrencyCodeID equals fx.CurrencyCodeID 
             select new Adjustments 
             { 
                 AdjustmentID = a.AdjustmentID, 
                 AdjustmentTypeID = a.AdjustmentTypeID 
             }).ToList()
};

方法3:给AdjustmentsList添加构造函数(更优雅的方式)

你可以给AdjustmentsList类加一个接收List<Adjustments>的构造函数,这样后续使用会更方便:

class AdjustmentsList 
{ 
    public List<Adjustments> items = new List<Adjustments>();
    
    // 添加构造函数,直接传入Adjustments列表
    public AdjustmentsList(List<Adjustments> adjustments)
    {
        items = adjustments;
    }
}

之后使用的时候就可以这样写:

var day0Spot = new AdjustmentsList(
    (from a in a1 
     join fx in q on a.CurrencyCodeID equals fx.CurrencyCodeID 
     select new Adjustments 
     { 
         AdjustmentID = a.AdjustmentID, 
         AdjustmentTypeID = a.AdjustmentTypeID 
     }).ToList()
);

为什么原来的写法不行?

你之前的查询select new { a.AdjustmentID, a.AdjustmentTypeID }生成的是.NET自动创建的匿名类型,虽然它的属性和Adjustments一样,但本质上是完全不同的类型,所以无法直接赋值给AdjustmentsList的items(它需要的是List<Adjustments>)。所以必须在查询中明确创建Adjustments实例,才能正确存入自定义列表类型。

内容的提问来源于stack exchange,提问作者user1272386

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:20:11