0

我在我的项目中首先使用 EF 6.1 代码。对于以下实体,我想Version在值更改时增加数据库中的字段值(我在断开连接的情况下更新我的实体):CodeName

public class Product
{
    public int Id {get; set;}
    public string Code {get; set;}
    public string Name {get; set;}
    public string Title {get; set;}
    public int Version {get; set;}
}

当实体的任何属性值更改时,使用[TimeStamp]注释会导致[TimeStamp]属性更改。

有什么方法可以在 EF 中完成这项工作吗?

4

1 回答 1

1

您可以检查属性的状态是否已更改。这里是 MSDN 链接

您更新的代码可能如下所示。

  public void Update(Product product) {
        if (context.Entry(product).Property(u => u.Code).IsModified && context.Entry(product).Property(u => u.Name).IsModified) {
            product.Version += 1;
        }
        context.Entry(product).State = System.Data.Entity.EntityState.Modified;
    }
于 2014-12-10T07:01:59.137 回答