【发布时间】:2011-06-21 19:40:08
【问题描述】:
我在 ASP.NET MVC 站点上使用 Entity Framework 4.1 和 Code-First 方法
假设我有一个名为 Profile 的实体,它跟踪用户最喜欢的书,我想跟踪用户何时更新他们最喜欢的书。
更新:
以下面的类为例,每当 FavoriteBook 属性的值发生变化时,我想将 FavoriteBookLastUpdated 属性设置为当前日期。
public class Profile
{
public int Id { get; set; }
public string Name { get; set; }
public string FavoriteBook { get; set; }
public DateTime? FavoriteBookLastUpdated { get; set; }
}
现在我只是在调用 DBContext 的 SaveChanges() 方法之前在控制器的 Edit 操作中更新该字段(如果合适的话)。
有没有办法以某种方式将该逻辑放入我的模型中?我不想在数据库端使用触发器。
【问题讨论】:
-
使用触发器能完成什么?
-
@Per Hornshøj-Schierbeck,使用 SQL UPDATE 触发器,我可以检查 FavoriteBook 列是否即将更改,并在 FavoriteBookLastUpdated 列中标记当前时间。这正是我想做的,但在代码中。
标签: asp.net-mvc entity-framework ef-code-first