2015-10-06 2 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

Смешение формулировку, но если вы хотите ребенка использовать Include() например: new SelectList (db.DefaultValue_Det.Include (a => a.DefaultValue). Где (... –

+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"); 
Смежные вопросы