正在更新数据库中已经存在的数据,该表具有诸如 CreatedBy,CreatedDate,ModifiedBy,ModifiedDate 的列。创建新行时会插入CreatedBy和CreatedDate,但是在更新时,我不需要更新CreatedBy和CreatedDate,而只需要修改ModifiedBy和ModifiedDate。
如下面的代码所示,它将把CreatedBy更新为null,将CreatedDate更新为01/01/0001,如下所示。
_Context.UserProfile.Update(userProfile);
我的模特就像
public class MyModelUserProfile
{
public int Id { get; set; }
public string Email { get; set; }
public string Username { get; set; }
public string FirstName { get; set; }
public string CreatedBy { get; set; }
public string ModifiedBy { get; set; }
}
有什么方法可以避免更新CreatedBy和CreatedDate列?我可以通过使用电子邮件ID来获取特定记录来做到这一点,但是我不想为此再次访问数据库。
答案 0 :(得分:2)
您无需在模型中更改CreatedBy
和CreatedDate
属性。
您的情况在这里:
CreatedBy
和CreatedDate
您的模型设计也不佳。
您需要将DateTime
用于日期,将Int32
用于数字。
请按以下方式更改您的模型:
public class MyModelUserProfile
{
public int Id { get; set; }
public string Email { get; set; }
public string Username { get; set; }
public string FirstName { get; set; }
public int CreatedBy { get; set; }
public int ModifiedBy { get; set; }
public DateTime ModifiedDate { get; set; }
public DateTime CreatedDate { get; set; }
}