C# C ASP.NET MVC:如何在实体框架中通过从列表返回的id列获取元素列表
我必须创建2个列表,我正在寻找最佳实践和最终的单行语法 我使用的是实体框架,我有3个表:C# C ASP.NET MVC:如何在实体框架中通过从列表返回的id列获取元素列表,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我必须创建2个列表,我正在寻找最佳实践和最终的单行语法 我使用的是实体框架,我有3个表: public class Position { public int ID { get; set; } public string Name { get; set; } } public class Training { public int Id { get; set; } public string Name { get; set; } } public clas
public class Position
{
public int ID { get; set; }
public string Name { get; set; }
}
public class Training
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Association
{
public int Id { get; set; }
public Impact Impact { get; set; }
public int TrainingId { get; set; }
public virtual Training Training { get; set; }
public int PositionId { get; set; }
public virtual Position Position { get; set; }
}
public enum Impact
{
Optional,
Mandatory
}
我必须选择关联表中提到的所有培训,作为强制性或可选的,我的意思是必须用Impact填充Impact列。可选的,PositionId是我通过参数或其他方式提供的
我该怎么做呢?试试这个
public List<Training> GetOptionalTrainings(int positionId)
{
_context.Associations
.Where(a => a.Impact == Impact.Optional && a.PositionId == positionId)
.Select(a => a.Training)
.ToList();
}
请注意,您的关系是1-1,协会将始终接受培训,
如果需要0或1关系,可以将public int TrainingId更改为public int?培训ID
更新了到目前为止您尝试了什么?这是您需要的吗?var result=db.Asociation.Wherex=>x.Impact==Impact.YOUR\u Impact&&PositionId==YOUR\u ID@马特几乎是的,有了这个,我怎么能得到一系列的训练!您的语法过滤了正确的关联,我想使用TrainingId获取培训列表!请检查下面的答案,然后重试