【发布时间】:2021-10-06 18:29:39
【问题描述】:
我正在尝试使用一个查询的结果来为另一个查询提供可接受值的列表。我正在使用查询方法,因为我更喜欢它。 vars morscontent 提供了一个列表,每个迭代都有多个成员,但我似乎无法将它们作为一个整体来访问,而无需访问其中一个单独的计数。例如:
morsContent[1].MORACODE
有效,但我不只是第一项中的一个实例,而是所有要搜索的实例。
这是我的非工作代码:
using (var a2Entity = new A2_Data_UATEntities())
{
var morsContent = (from a in a2Entity.MORDetails
where a.MORCODE == this.dropDown1.SelectedItem.Label
select a ).ToList();
var dataResults = (from b in a2Entity.SCADA_DATA
where b.COLDATE >= dateCheck1 && b.COLDATE <= dateCheck2
&& morsContent.Contains(b.acode)
&& morsContent[1].MORACODE
select b).ToList();
}
【问题讨论】:
-
我怀疑您或多或少地收到了一条类似于
Contains cannot be used, because it's not part of Entity Framework Linq.的错误消息 补救措施是使用有效的 EF Linq 将所有数据传递给客户端,然后将 Contains 应用于结果数据。 -
你要发布所有的课程,很难理解你在做什么
-
“非工作代码”是什么意思?错误信息?错误的结果?在 C# 中,类型规则。
morsContent的类型是什么? (提示:List<MORDetails>。b.acode的类型是什么?Contains需要什么类型?建议:从morsContent中删除ToList()。(不好的名字。)如果你不需要morsContent别的,把select a改成select a.code。如果你确实需要,把dataResults改成测试morsContent.Select(c => c.code).Contains(b.acode)。如果你需要它是一个列表,添加一个新变量var morsContentList = morsContent.ToList();。
标签: c# .net entity-framework linq