2012-03-14 57 views
0

请告诉我,我怎么能为模型在asp.net mvc3中做“触发器”或“回调”? 例如,我在DB 3款MVC 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和其他)

回答

1

这并不是真正内置于MVC中的东西,它更像是将内置于ORM中的内容,用于将模型映射到数据库行实体框架或LinqToSQL。

如果你想在没有ORM框架的情况下做到这一点,你必须自己编写代码。无论哪种方式,它可能会使用网络events,然后在模型的getter和setter中触发它们。

相关问题