我有一个类,我想从Linq查询填充,但我使用一个子选择语句来稍微改变列表的属性。我有一个类,它应该适合,但它拒绝进入。我想知道是否有一种方法可以让这些结果适合我定义的列表,而不是通用的匿名类型。
public class SCADA_DATA_Truncated
{
public string acode { get; set; }
public string LOCCODE { get; set; }
public Nullable<System.DateTime> COLDATE { get; set; }
public string RESULT { get; set; }
public string analyte { get; set; }
}
这里是我试图填充数据的地方:
List<SCADA_DATA_Truncated> dataResults = (SCADA_DATA_Truncated)(from b in a2Entity.SCADA_DATA
where DbFunctions.TruncateTime(b.COLDATE) >= dateCheck1 && DbFunctions.TruncateTime(b.COLDATE) <= dateCheck2
&& whereInAcode.Contains(b.acode) && whereInLoc.Contains(b.LOCCODE)
select new
{
COLDATE = DbFunctions.TruncateTime(b.COLDATE),
acode = b.acode,
LOCCODE = b.LOCCODE,
RESULT = b.RESULT,
analyte = b.analyte
}
).ToList();
这是一个匿名类型:
select new
{
COLDATE = DbFunctions.TruncateTime(b.COLDATE),
acode = b.acode,
LOCCODE = b.LOCCODE,
RESULT = b.RESULT,
analyte = b.analyte
}
运行时不知道如何将其转换为您的类
为什么不改成
select new SCADA_DATA_Truncated
{
COLDATE = DbFunctions.TruncateTime(b.COLDATE),
acode = b.acode,
LOCCODE = b.LOCCODE,
RESULT = b.RESULT,
analyte = b.analyte
}
然后可以完全删除显式强制转换