C# 无法创建Linq error类型的常量值
我试图从整个EF的MSSQL数据库中获取数据 请参阅下面的代码: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
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();