微风一对多删除-子实体FK设置为​​0 - c#

我浏览过Breeze文档中有关导航属性,级联删除等的信息。我成功地通过级联删除和Breeze成功实现了一对多关系。对于以下代码失败的原因,我已经没有足够的想法了,我们将不胜感激任何帮助。

下面的代码类似于DocCode Breeze文档中的OrderOrderDetail类:

public class Order
{
        public int OrderId { get; set; }
        public String Title { get; set; }
        public virtual ICollection<OrderDetail> OrderDetails { get; set; }
}

public class OrderDetail
{
        public int OrderDetailId { get; set; }
        public String Comment { get; set; }

        public int OrderId { get; set; }
        [ForeignKey("OrderId ")]
        [InverseProperty("OrderDetails ")]
        public Order Order { get; set; }
}

public class MyDbContext : DbContext
{
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            // Use singular table names
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();


            modelBuilder.Entity<Order>()
                        .HasMany(t => t.OrderDetails)
                        .WithRequired(t => t.Order)
                        .HasForeignKey(t => t.OrderId)
                        .WillCascadeOnDelete();

            base.OnModelCreating(modelBuilder);
        }
}

删除Order实体后,我将拦截BeforeSaveChanges并从OrderDetail删除所有SaveMap对象,因为数据库将负责删除子实体。

问题
当我创建OrderDetail对象时,这些对象已正确添加到数据库中,并且我的Breeze客户端成功地设法读取了这些对象并将它们正确关联。但是,当我用Order删除order.entityAspect.setDeleted();对象时,子级OrderDetails与删除的父级Order一起发送到服务器。问题是OrderDetails实体OrderId属性设置为0。这引起了一个大问题,因为我无法确定要从OrderDetail中删除​​哪个SaveMap对象。

参考方案

在服务器上,EntityInfo.OriginalValuesMap将具有已删除订单ID的原始值。

提交初始化后删除某些帖子数据 - javascript

在初始化提交之后但在将数据发送到处理页面之前,是否可以过滤$ _POST表单数据?我想象过程的方式:提交->收集$ _POST数据->发送数据我想做的事:提交->收集$ _POST数据->删除某些元素->发送数据这样就不必更改处理页面以过滤掉不希望接收的元素了吗? javascript大神给出的解决方案 当然可以,您可以在JS …

写一行到javascript文件 - javascript

我正在使用数组来显示网站中的一些图像:var paintingImages; paintingImages = [ { url: 'images/objects/ron.jpg', alt: 'ron' } ]; 该js代码写在paintings.js中,我的主要js代码写在main.js文件中我已经为艺术家制作了这个…

在JavaScript中运行方法C# - javascript

打扰一下,我有这种C#asp方法。受保护的无效btnSave_Click(对象发送者,EventArgs e)有谁知道我该如何发送脚本给您?可以办到?。 javascript大神给出的解决方案 是的,那可以做到。为此,您在.aspx.cs页中创建了函数,然后单击保存按钮上的代码将其复制到函数中,然后执行以下步骤。//Call cs method from J…

如何从客户端将数据插入数据库? - javascript

我是Web开发的初学者,可以访问cpanel上托管的网站,并且需要对其进行一些更改。这个网站的后端是由蛋糕PHP制作的,我想使用ajax从客户端将一些数据插入其数据库。问题是我不知道如何获取负责插入数据库的PHP文件的URL。参见下面的代码:var xhttp = newXMLHttpRequest(); xhttp.onreadystatechange= …

查找我的浏览器生成的javascript变量的当前值 - javascript

我正在尝试训练神经网络使用进化计算来玩基于浏览器的游戏,为此,我需要跟踪游戏得分。仅使用html,css和javascript创建游戏,并且游戏得分保存在我的浏览器运行的js脚本中的特定变量中。播放时,该变量的值当然会发生变化,并且在我的浏览器中是本地的。有什么方法可以在Python脚本中跟踪该变量的值? (如果我需要使用其他编程语言,我也愿意尝试一下!)编…