Asp.net MVC и Entity Framework, не могут получить доступ к связанным таблицам - PullRequest
2 голосов
/ 18 мая 2009
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/SiteControl.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<Website.SimpleRepository.Page>>" %>

<asp:Content ID="Content2" ContentPlaceHolderID="content" runat="server">

<h2>Page List</h2>

  <p>
    <%= Html.ActionLink("Create New", "Create") %>
</p>

<table>
    <tr>
        <th></th>
        <th>
            Display As
        </th>
        <th>
            Layout
        </th>

    </tr>

<% foreach (var item in Model) { %>

    <tr>
        <td>
            <%= Html.Encode(item.DisplayAs) %>
        </td>
        <td>
            <%= Html.Encode(item.Types.Name) %>
        </td>
    </tr>

<% } %>

</table>
</asp:Content>

Мне трудно получить доступ к элементу. Типы. Имя возвращает нулевое исключение. У меня есть моя модель данных сущности в отдельной библиотеке классов. Может кто-нибудь объяснить, почему он возвращает нулевое исключение и что я могу сделать, чтобы это исправить? Я видел другие проекты, которые ссылаются на связанные табличные значения, но не могу понять, почему моя работа отличается ...

Любая информация на эту тему будет отличной! Спасибо.

Ответы [ 3 ]

0 голосов
/ 18 мая 2009

Как вы запрашиваете данные?

Я обнаружил, что текущая настройка EF требует от меня большей ясности с волшебными строками, чем мне бы хотелось:

public IEnumerable<Item> GetItems(){
  ObjectQuery<Item> items = ItemSet.Include("Types");

  return (from i in items
          where [...]
          select i);
}

Это, конечно, не дает вам проверять время компиляции внешних ключей во время компиляции, но, по крайней мере, теперь их возвращает.

0 голосов
/ 18 мая 2009

Оказывается, я новичок, как и ожидал. Решением моей проблемы было то, что я не передавал связанные таблицы в представление. Спасибо за ваши ответы!

0 голосов
/ 18 мая 2009

Убедитесь, что ваши отношения внешнего ключа в сопоставлении сущностей допускают отложенную загрузку или эти ссылочные свойства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...