我有一个名为“Animal”的类的模型。
“Animal”类有几个属性,但让我们关注以下属性:
- 创建日期
- 创建用户
在“动物”类中,我可以通过执行以下操作使 CreateDate 工作:
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public DateTime CreateDate { get; set; }
这让我可以通过将数据库中的默认值设置为“GetDate()”来在数据库中生成 CreateDate。
当外部调用者尝试在 OData 服务上“设置” CreateDate 字段时,它会忽略正在传递的数据。
这使它成为外部调用者的“只读”属性。
除了需要在 OData 服务器上设置 CreateUser = System.Threading.Thread.CurrentPrincipal.Identity.Name 之外,我需要执行类似于 CreateUser 的操作。
如果我尝试使用私有集,则 OData 服务根本不会公开该属性。
如果我尝试使用公共集,则外部调用者可以更改属性。
在“动物”构造函数中,我设置了内部 _CreateUser = System.Threading.Thread.CurrentPrincipal.Identity.Name
我不确定如何在服务器端设置它。