我浏览过Breeze文档中有关导航属性,级联删除等的信息。我成功地通过级联删除和Breeze成功实现了一对多关系。对于以下代码失败的原因,我已经没有足够的想法了,我们将不胜感激任何帮助。
下面的代码类似于DocCode Breeze文档中的Order
和OrderDetail
类:
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的原始值。
在初始化提交之后但在将数据发送到处理页面之前,是否可以过滤$ _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脚本中跟踪该变量的值? (如果我需要使用其他编程语言,我也愿意尝试一下!)编…