2015-10-06 37 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"); 
相关问题