gpt4 book ai didi

c# - EF Code First 计算修改和创建的属性

转载 作者:行者123 更新时间:2023-11-30 17:04:18 25 4
gpt4 key购买 nike

给定以下类,有没有办法首先在 EF 代码中自动计算实体的 Created 和 Modified 属性?

public class BaseEntity
{
[Required, Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }

[Timestamp]
public byte[] RowVersion { get; set; }

public DateTime Created { get; set; }
public DateTime Modified { get; set; }
}

可以通过Attributes来完成吗?

最佳答案

我在 EF 中为此目的使用存储库模式。

POCO 可能会实现

public interface IFQuickAudit {
Nullable<DateTimeOffset> CreatedOn { get; set; }
Nullable<long> CreatedBy { get; set; }
Nullable<DateTimeOffset> ChangedOn { get; set; }
Nullable<long> ChangedBy { get; set; }
}

如果有,基础存储库会在添加或更改方法期间进行检查并设置值

public class RepositoryBase<TPoco>
//...
public virtual OperationResult Add(TPoco poco)
var entityQA = poco as IFQuickAudit;
if (entityQA != null) {
entityQA .CreatedBy = userId;
entityQA .CreatedOn = when;
}

// checks...
Context.Set<TPoco>().Add(poco);

// similar for Chnage routine

关于c# - EF Code First 计算修改和创建的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17689453/

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