我在使用 Blazor 的 EfCore 中的代理时遇到问题。如果在页面加载后某个时间将对象传递给正在访问其代理属性的子组件,则上下文可能已经被释放,从而导致崩溃
在处理关联的 DbContext 后,尝试延迟加载实体类型“WeatherForecastProxy”上的导航属性“Description”。
需要延迟加载代理以避免在主/细节样式用户界面中的笛卡尔爆炸,其中主列表中的每个实体都有自己的拥有实体的子列表,而这些子列表又具有自己的连接。
基于官方 blazor 模板的最小可复制项目位于:https : //github.com/alextech/sample_use_proxy_blazor
Utility Base Component 类应该是在组件之间共享服务以避免线程问题的解决方案,如https://github.com/aspnet/AspNetCore/issues/18076和https://github.com/aspnet/所建议的AspNetCore/issues/10448,但它仍然导致崩溃
在前一个操作完成之前,在此上下文中启动了第二个操作。这通常是由使用相同 DbContext 实例的不同线程引起的。
我是正确使用该实用程序基础组件类功能,还是以意外方式使用 efcore/blazor 组合?
问候.
我有一个功能,它监视"价格"字段的内容并更新"购物车"字段中的字符串.在"cart"字段中,字符串在|之间 字符被"价格"中输入的内容替换.我当前的功能只能工作一次,而连续的更改没有任何反应.我知道这不是事件本身的问题,因为如果我在没有正则表达式的情况下替换整个字段,它可以正常工作.
这是"购物车"字段的格式,15需要用"价格"字段中的内容替换: {nicepaypal:cart | 15 | 2010年新增}.
$('price').addEvent('keyup', function() {
var price = $(this).value;
var currentCartValue = $('cart').value;
var oldPrice = String(currentCartValue.match(/\|...\|/));
oldPrice = oldPrice.substring(1, oldPrice.length-1); // ugly but could not get lookaheads for "between" characters to work properly
var newCartValue = currentCartValue.replace(oldPrice, price);
$('cart').value = newCartValue;
});
Run Code Online (Sandbox Code Playgroud)
另一种变化也不起作用:
newCartValue = currentCartValue.replace(/\|...\|/), '|'+price+'|');
Run Code Online (Sandbox Code Playgroud)
在"价格"字段中多次按键时,为什么这不起作用.谢谢.