MVC 3、插入之后、更新之前等
本文关键字:更新 之后 插入 MVC | 更新日期: 2023-09-27 18:27:58
请告诉我,我如何在asp.net mvc3中为模型执行"触发器"或"回调"?例如,我在数据库中有3个模型
public class Order
{
public int ID { get; set; }
public string order_num { get; set; }
public virtual ICollection<Task> Tasks { get; private set; }
}
public class Task
{
public int ID { get; set; }
public int length { get; set; }
public int sheets_num { get; set; }
[Required]
public int orderID { get; set; }
[ForeignKey("orderID")]
public virtual Order Order { get; set; }
[Required]
public int spoolID { get; set; }
[ForeignKey("spoolID")]
public virtual Spool Spool { get; set; }
}
public class Spool
{
public int ID { get; set; }
public string name { get; set; }
public int weight { get; set; }
public int weight_meter { get; set; }
public virtual ICollection<Task> Tasks { get; set; }
}
在程序中,我创建了秩序——它有很多任务。当我创建任务时,它应该改变卷轴的重量
Task.Spool.Weight = Task.Spool.Weight - (Task.length * Task.sheets_num * Task.Spool.weight_meter)
当我删除订单时,它应该删除所有任务并更改假脱机的重量等以进行更新(假脱机重量=假脱机重量+旧任务重量-新任务重量)
我怎么能在asp中做这些事情?在rails中,我可以在模型中使用回调(after_update和其他)
这实际上不是MVC中内置的东西,它更像是ORM中内置的内容,用于将模型映射到数据库行实体框架或LinqToSQL。
如果你想在没有ORM框架的情况下做到这一点,你必须自己编写代码。无论哪种方式,它都可能使用net事件,然后在模型的getter和setter中触发它们。