0

базов данных:Получить имущество от последнего ребенка, рассчитанной собственности в Entity Framework (EF) фон

-Parent 
|- ChildCollection (with dates) 
|- ChildStatus (FK in Child object. ChildStatus is a lookup value) 

Я использую ребенок в контексте отношения базы данных. Наследование здесь не является фактором.

Что бы я хотел, в моем родительском объекте можно получить из базы данных и сохранить последнюю дату в дочерней коллекции и статус, прикрепленный к этому дочернему объекту. Конечная цель будет иметь возможность сказать Parent.LastDate (как DateTime объекта) и Parent.LastStatus (как ChildStatus объекта)

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

Мне бы хотелось, чтобы два объекта были доступны мне, если я просто передаю Parent в качестве моей модели в MVC без включения дочерних объектов.

Я думаю, лучший вопрос: «Как я должен это делать?» Это случай, когда я должен создать представление и заполнить дополнительные свойства в представлении? Я не работал с видом еще, так что это может быть простым непониманием идеальной архитектуры с моей стороны ...

+1

'FK in parent' Вы имеете в виду, что ваш FK находится в объекте entityCollection или объекте' Parent'? – Shoe

+0

Нет, я имел в виду, что у каждого дочернего объекта есть fk ChildStatusID, который определяет его статус. Хороший вопрос. Я не уверен, что мог бы сделать это менее ясным ... – Kendrick

ответ

2

Если я понял правильно, это то, как ваш код должен выглядеть следующим образом:

var latestChild = Parent.ChildCollection.OrderByDescending(c => c.Date).FirstOrDefault(); 

if(latestChild != null) 
{ 
    Parent.LastDate = latestChild.Date; 
    Parent.LastStatus = latestChild.ChildStatus; 
} 
+0

Вы понимаете это правильно. Но я не уверен, как связать это обратно с родительским объектом в дружественной EF-манере. – Kendrick

+0

@ Kendrick Как вы это понимаете? Как рассчитанное свойство? – Shoe

+0

Не вычисляется, как таковой, только что извлеченный из базы данных как часть построения объекта. Единственный «расчет» - это поиск дочернего объекта с максимальной датой. – Kendrick

 Смежные вопросы

  • Нет связанных вопросов^_^