MVC 3, после вставки, перед обновлением и т. Д. - PullRequest
0 голосов
/ 14 марта 2012

скажите, пожалуйста, как я могу сделать "триггеры" или "обратные вызовы" для моделей в 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)

, когда я удаляю заказ - он должен удалить все задачи и изменить вес спула и т. Д. Для обновления (spool.weight = spool.weight + WeightOfOldTask- WeightOfNewTask)

Как я могу сделать это в ASP?В рельсах я могу использовать обратные вызовы в модели (after_update и другие)

1 Ответ

1 голос
/ 14 марта 2012

Это на самом деле не то, что встроено в MVC, это больше похоже на то, что будет встроено в ORM, который вы использовали для сопоставления ваших моделей со строкой базы данных Entity Framework или LinqToSQL.

Если вы хотитесделать это без фреймворка ORM, вам придется написать код для этого самостоятельно.В любом случае он, вероятно, будет использовать net events и затем запускать их в методах получения и установки вашей модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...