несанкционированный доступ к загружающейся ошибке набора

Я получаю ошибку

Несанкционированный доступ к загружающемуся набору

когда я пытаюсь получить список вариантов, принадлежащих определенному продукту. Отображение NHibernate как ниже

<list name="Variants" lazy="false" cascade="save-update" inverse="false" table="PluginProduct_ProductVariant">
  <key column="ProductId" />
  <index column="Ordinal" />
  <one-to-many class="Plugin.Product.Business.Entities.Variant, Plugin.Product" />
</list>

Я уже попытался рискнуть ленью и обратными свойствами, как предложено в других темах на этом сайте, но они не добивались цели.

Я использую NHibernate в сочетании с ASP.NET MVC и и я пытаюсь циклично выполниться через набор варианта, по моему мнению. Представление называет следующий метод

        public ActionResult ShowProduct()
        {
        var id = new Guid(PluginData.PageParameters["Id"]);

        var variant = _variantService.GetVariantById(id);
        var product = variant.Product;

        return PluginView("ShowProduct.ascx", product);
        }

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

В представлении моего веб-приложения я пытаюсь сделать следующее

<%
foreach (var variant in Model.Variants)
{%>
    kleur: <%= variant.Color %>
    van: <%= variant.FromPrice %> voor: <%= variant.Price %>
<%} %>
11
задан Kevin Panko 23 March 2016 в 15:45
поделиться

2 ответа

Ладно, очень глупо, но я наконец-то решил проблему.

Индексный столбец Ordinal в базе данных не получал правильных значений, поэтому он всегда был NULL. Это вызывало ошибку, потому что NHibernate не мог найти индексный столбец для создания списка.

К сожалению, это стоило мне много времени, но я рад, что решил эту проблему!

6
ответ дан 3 December 2019 в 09:40
поделиться

Проблема решена! Я столкнулся с другой проблемой при добавлении продукта с вариантом, поэтому я изменил этот интеллект в своем контроллере. Затем у меня возникла проблема с отображением, поэтому я изменил отображение, как показано ниже, и все сработало!

    <list name="Variants" lazy="false" cascade="all" inverse="false">
  <key column="ProductId" />
  <index column="Ordinal" />
  <one-to-many class="Plugin.Product.Business.Entities.Variant, Plugin.Product" />
</list>
2
ответ дан 3 December 2019 в 09:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: