簡體   English   中英

C#ASP.NET MVC:如何從Entity Framework中的列表返回的ID列獲取元素列表

[英]C# ASP.NET MVC: How to get list of elements by id column returned from a list in Entity Framework

我必須創建2個列表,我正在尋找最佳實踐,最終是oneline語法!

我正在使用Entity Framework,並且有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 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
}

我必須選擇Association表中提到的所有培訓,將其作為必選或可選的(我的意思是必須用Impact.Optional填充Impact列),而PositionId是我通過參數或其他方式提供的Impact.Optional

我怎樣才能做到這一點?

嘗試這個

public List<Training> GetOptionalTrainings(int positionId)
{
  _context.Associations
    .Where(a => a.Impact == Impact.Optional && a.PositionId == positionId)
    .Select(a => a.Training)
    .ToList();
}

在此處輸入圖片說明

請注意,您的關系是1-1,協會將始終有一個Training,如果您想要0或1關系,可以將public int TrainingId更改為public int? TrainingId public int? TrainingId

更新

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM