请告诉我,我如何为asp.net mvc3中的模型做“触发”或“回调”? 例如,我在db
中有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)
当我删除订单时 - 它应该删除所有任务并更改假脱机等的重量以进行更新(spool.weight = spool.weight + WeightOfOldTask - WeightOfNewTask)
我如何在asp中做这些事情?在rails中,我可以在模型中使用回调(after_update和其他)
答案 0 :(得分:1)
这不是构建在MVC中的东西,它更像是用于将模型映射到数据库行Entity Framework或LinqToSQL的ORM中构建的内容。
如果你想在没有ORM框架的情况下这样做,你必须自己编写代码。无论哪种方式,它可能会使用net events,然后在模型的getter和setter中触发它们。