gpt4 book ai didi

nhibernate - 非法访问加载集合错误

转载 作者:行者123 更新时间:2023-12-04 02:08:42 24 4
gpt4 key购买 nike

我收到错误

Illegal access to loading collection



当我尝试获取属于某个产品的变体列表时。 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 结合使用,并且我正在尝试在我的 View 中遍历一组变体。该 View 正在调用以下方法
        public ActionResult ShowProduct()
{
var id = new Guid(PluginData.PageParameters["Id"]);

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

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

上面的代码运行没有任何问题。但是当我在返回 View 之前调试时,我看到产品包含的变体列表是空的。当我打开更详细的调试信息时,它会向我显示收集错误。

在我的网络应用程序的 View 中,我正在尝试执行以下操作
<%
foreach (var variant in Model.Variants)
{%>
kleur: <%= variant.Color %>
van: <%= variant.FromPrice %> voor: <%= variant.Price %>
<%} %>

最佳答案

好吧,非常愚蠢,但我终于解决了问题。

索引列Ordinal在数据库中没有得到正确的值,所以它总是 NULL .这导致了错误,因为 NHibernate 找不到索引列来创建列表。

不幸的是花了我很多时间,但很高兴我解决了它!

关于nhibernate - 非法访问加载集合错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2493391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com