Спасибо комментаторам за то, что дразнили детали ответа.
В редакторе MVC по умолчанию для «главного» шаблона Object.ascx есть оператор if, предотвращающий это.
Чтобы изменить это поведение, вам нужно заменить базовый шаблон /EditorTemplates/Object.ascx своим собственным. Это хорошая копия шаблона, запеченного в MVC:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<% if (Model == null) { %>
<%= ViewData.ModelMetadata.NullDisplayText %>
<% } else if (ViewData.TemplateInfo.TemplateDepth > 1) { %>
<%= ViewData.ModelMetadata.SimpleDisplayText %>
<% } else { %>
<table cellpadding="0" cellspacing="0" border="0">
<% foreach (var prop in ViewData.ModelMetadata.Properties.Where(pm => pm.ShowForDisplay && !ViewData.TemplateInfo.Visited(pm))) { %>
<% if (prop.HideSurroundingHtml) { %>
<%= Html.Display(prop.PropertyName) %>
<% } else { %>
<tr>
<td>
<div class="display-label" style="text-align: right;">
<%= prop.GetDisplayName() %>
</div>
</td>
<td>
<div class="display-field">
<%= Html.Display(prop.PropertyName) %>
</div>
</td>
</tr>
<% } %>
<% } %>
</table>
<% } %>
Эта строка:
<% } else if (ViewData.TemplateInfo.TemplateDepth > 1) { %>
сказать шаблону, чтобы он спускался только на один уровень графа вашего объекта. Просто замените 1 на 2 или удалите его полностью, чтобы изменить степень детализации MVC.
Подробнее об этом шаблоне можно узнать здесь:
http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-4-custom-object-templates.html
(мужик, я должен создать макрос для связи с материалами Брэда Уилсона, я делаю это все время);)