在两个表中选择子记录

时间:2015-10-06 16:07:27

标签: entity-framework linq

从子表中检索记录的最佳解决方案是什么?

我无法在此问题中包含解决方案文件。

模型

[Table("Tbl_DefaultValue")]
public class DefaultValue
{
    [Key]
    public int DefaultValue_ID { get; set; }
    public string DefaultVal_Name { get; set; }
    public virtual ICollection<DefaultValue_Det> DefaultValue_Det { get; set; }

}

[Table("Tbl_DefaultValue_Det")]
public class DefaultValue_Det
{
    [Key]
    public int DefaultValue_Det_ID { get; set; }
    public int DefaultValue_ID { get; set; }
    public string DefaultValue_Value { get; set; }
   public virtual DefaultValue DefaultValue { get; set; }
    public virtual ICollection<Car> Cars { get; set; }
}

控制器

driverdt.TypeList = 
  new SelectList(db.DefaultValue_Det
   .Where(a => a.DefaultValue_ID == db.DefaultValue
      .Where(d => d.DefaultVal_Name == "marid")
       .Max(b=>b.DefaultValue_ID)), "DefaultValue_Det_ID", "DefaultValue_Value");
   return View( driverdt);

1 个答案:

答案 0 :(得分:0)

您可以使用DefaultValue_Det预填充集FetchMany

driverdt.TypeList = 
  new SelectList(db.DefaultValue_Det
   .Where(a => a.DefaultValue_ID == db.DefaultValue
      .Where(d => d.DefaultVal_Name == "marid")
       .Max(b=>b.DefaultValue_ID))
       .FetchMany(x => x.DefaultValue_Det)
, "DefaultValue_Det_ID", "DefaultValue_Value");