gpt4 book ai didi

asp.net-mvc-3 - Entity Framework 4.1 自动日期

转载 作者:行者123 更新时间:2023-12-04 17:27:23 27 4
gpt4 key购买 nike

我对 Entity Framework (和 asp.net mvc 3)很陌生,这是我第一次使用 EF4.1 代码。

我的问题很简单:当我通过模型为数据库生成一个新表时,我想做

  • 创建新行时自动将当前日期时间添加到字段。
  • 每次更新字段时自动更新该字段。

  • 实际上,变量看起来像:
     [DisplayName("Data Modifica")]
    [DataType(DataType.DateTime)]
    [DisplayFormat(DataFormatString = "{0:d}")]
    public DateTime DataModifica { get; set; }

    我想我可以在 datacontext 的“OnModelCreating”事件上写一些东西,但我太新了,无法掌握这个:)

    有人可以帮忙吗?

    提前致谢,
    五、

    最佳答案

    这与创建模型无关。 “模型”是对类和数据库之间映射的描述。 OnModelCreating用于修改映射定义,而不是修改数据。它与实体实例本身中的数据无关。

    如果你想自动修改你可以覆盖 SaveChanges :

    public override int SaveChanges()
    {
    DateTime now = DateTime.Now;
    foreach (var entity in ChangeTracker.Entries<YourEntityType>()
    .Where(e => e.State == EntityState.Added || e.State == EntityState.Modified)
    .Select(e => e.Entity))
    {
    entity.DateModifica = now; // set the date
    }

    return base.SaveChanges();
    }

    关于asp.net-mvc-3 - Entity Framework 4.1 自动日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6465438/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com