我创建了一个名为“项目”的实体。它有一个 Id、CreateDate 和 ModifyDate 以及一些必需的数据。
我正在使用 EF 4.3 Code First 模型。如果它解决了我的问题,我可以使用最新版本的 EF。
所有这三个值都是可选的。有时,我可能会传递一些值,比如 Id 或 CreateDate。如果我不通过,我希望 EF 从 DB 自动生成这些值,否则取我通过的值。
到目前为止,我发现,如果我将 Id 列设置为 Identity 列,那么它会忽略提供的值,计算列也是如此。
无论如何我可以选择提供这些价值吗?
还有一件事,我修改了日期字段。每当我更新记录时,我希望数据库更新当前日期时间。我找到了以下选项,但不知何故,我对其中任何一个都不满意。DB是否有任何直接选项(类似于默认值)?
- 使用 Update 触发器更新 modifydate
- 在 C# 端设置 modifydate 值
我的实体:
public class Item
{
public Guid? ItemId { get; set; }
public string SomeData { get; set; }
public DateTime CreateDate { get; set; }
public DateTime? ModifyDate { get; set; }
}