Tôi nhận được lỗitruy cập bất hợp pháp để lỗi thu nạp
truy cập bất hợp pháp vào bộ sưu tập tải
khi tôi đang cố gắng để có được một danh sách các biến thể thuộc về một sản phẩm nào đó. Lập bản đồ NHibernate là như sau
<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>
Tôi đã cố gắng chancing sự lười biếng và tính nghịch đảo như đề xuất trong các chủ đề khác trên trang web này, nhưng họ đã không làm các trick.
Tôi đang sử dụng NHibernate kết hợp với ASP.NET MVC và tôi đang cố gắng lặp qua bộ sưu tập biến thể trong chế độ xem của mình. Chế độ xem đang gọi phương thức sau
public ActionResult ShowProduct()
{
var id = new Guid(PluginData.PageParameters["Id"]);
var variant = _variantService.GetVariantById(id);
var product = variant.Product;
return PluginView("ShowProduct.ascx", product);
}
Mã trên không có bất kỳ sự cố nào. Nhưng khi tôi gỡ lỗi ngay trước khi trả lại chế độ xem, tôi thấy danh sách các biến thể mà sản phẩm chứa trống. Khi tôi mở thông tin gỡ lỗi chi tiết hơn, nó hiển thị cho tôi lỗi thu thập.
Theo quan điểm của ứng dụng web của tôi, tôi đang cố gắng để làm
sau<%
foreach (var variant in Model.Variants)
{%>
kleur: <%= variant.Color %>
van: <%= variant.FromPrice %> voor: <%= variant.Price %>
<%} %>
nó cũng có thể là trường hợp của sản phẩm chéo (xem https://www.tutorialspoint.com/sql/sql-cartesian-joins.htm) mà bạn có thể hoặc có thể không muốn. – increddibelly