2012-03-14 60 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中觸發它們。

相關問題