2015-10-06 48 views
0

從關係中的子表中檢索記錄的最佳解決方案是什麼?選擇關係兩個表中的子記錄

我不能在此問題中包含解決方案文件。

型號

[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); 
+0

混淆字眼,但如果你希望孩子使用包括()比如:new SelectList(db.DefaultValue_Det.Include(a => a.DefaultValue).Where(... –

+0

感謝您的解決方案 –

回答

0

可以使用FetchMany預填充集合DefaultValue_Det

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"); 
相關問題