2016-06-01 6 views
1

У меня есть отношения с Orders -> ContentRequest -> Institution table. Как я могу заполнить ContentRequest.Institution при выполнении поиска в базе данных?populating sub object using linq

В этом заявлении будет указано Orders и модели ContentRequest. Это прекрасно работает.

List<Orders> orderList = db.Orders.Include("ContentRequest").ToList(); 

Я хотел бы иметь модель Orders.ContentRequest.Institution также заполненный.

+0

db.Orders.Include («ContentRequest»). Включить («ContentRequest.Institution»). ToList(); – Gusman

ответ

5

Вы можете сделать это (используя эту перегрузку метода Include расширения):

var orderList = db.Orders.Include(o=>o.ContentRequest.Institution).ToList(); 

Или вы все еще можете использовать Include метод вы показываете ваш вопрос так:

var orderList = db.Orders.Include("ContentRequest.Institution").ToList(); 

Но я предпочитают первое решение, потому что оно строго типизировано и в случае, если вы измените имя какого-либо свойства или у вас есть некоторая ошибка ввода, в которой записываются имена свойств, при первом решении вы получите ошибку компиляции.

+4

Для первой формы вам нужно 'using System.Data.Entity;' –

+0

спасибо @EricJ. Прямо сейчас я искал ссылку для метода расширения Include – octavioccl

+0

'System.Data.Objects'? https://msdn.microsoft.com/en-us/library/bb738708(v=vs.110).aspx –