C# 无法创建Linq error类型的常量值

C# 无法创建Linq error类型的常量值,c#,linq,entity-framework,C#,Linq,Entity Framework,我试图从整个EF的MSSQL数据库中获取数据 请参阅下面的代码: model.events = _FoxDB.DWH_EventsBasicData.Where( e => e.Event_StartTime >= model.StartDate && e.Event_EndTime <= model.EndDate).ToList(); model.Tps = _FoxDB.DWH_TrainingPr

我试图从整个EF的MSSQL数据库中获取数据

请参阅下面的代码:

model.events =
            _FoxDB.DWH_EventsBasicData.Where(
                e => e.Event_StartTime >= model.StartDate && e.Event_EndTime <= model.EndDate).ToList();

model.Tps = _FoxDB.DWH_TrainingProgramsBasicData.Where(
                t => model.events.Any(e => e.EventTrainingProgram_ID.Equals(t.TrainingProgramID))).Select(t => new EntityDropDown()
                {
                    ID = t.TrainingProgramID,
                    Name = t.TrainingProgramName
                }).ToList();
model.events=
_FoxDB.DWH\u EventsBasicData.Where(
e=>e.Event\u StartTime>=model.StartDate和&e.Event\u EndTime model.events.Any(e=>e.EventTrainingProgram\u ID.Equals(t.TrainingProgramID))。选择(t=>newentitydropdown()
{
ID=t.TrainingProgramID,
名称=t.TrainingProgramName
}).ToList();
在第一行中,我得到了事件列表>该部分工作正常,我还将其转换为
ToList
,因此它将在本地运行

然后我想得到一份活动集合中存在的培训计划列表

我读了很多关于这个错误和文章的答案,我仍然不理解这个问题

错误:
无法创建“FoxConcept.Models.DALModels.DWH\u EventBasicData”类型的常量值。在此上下文中仅支持基元类型或枚举类型

非常感谢您的帮助。

据我所知,此错误是因为您将
model.events
加载到内存中,然后尝试在查询数据库时使用它。我不确定,但它应该适合您:

model.Tps = _FoxDB.DWH_TrainingProgramsBasicData
                .AsEnumerable() // I added this
                .Where(t => 
                    model.events
                        .Any(e => e.EventTrainingProgram_ID.Equals(t.TrainingProgramID)))
                        .Select(t => new EntityDropDown()
                        {
                            ID = t.TrainingProgramID,
                            Name = t.TrainingProgramName
                        }).ToList();