我有一个 Web API 项目,由一个 MSSQL 数据库支持,该数据库包含(几乎)每个表上的创建和修改字段。这些字段上有触发器,以便分别在插入和更新记录时更新两者。
现在,当我在成功请求后将数据序列化为 JSON 时,我确实想发送这些创建和修改的字段,以便发出请求的前端可以用它来做他们的事情。然而,我不想要的是当数据被反序列化(或者,回发)时可以修改这些字段。很简单,你会说,只需在字段上使用 [JsonIgnore] 属性;只把它放在片场而不是在得到。
现在,事情开始让我感到困惑。我项目中的所有模型都是从实体模型 (.edmx) 自动生成的。因此,我不能直接将任何东西编辑到模型本身中,但我必须在它们之上生成部分模型。我已经在其他 SO 线程中看到了解决方案,使用 [MetadataType] 属性,就像这里的这个。
但是我如何(有效地)将此应用于我的案例?我一直在四处寻找,但还没有找到一个关于如何在“更高”部分类中分离自动实现的属性的示例。即便如此,这也意味着我必须为我的所有模型创建部分类,这将非常麻烦。我无法想象以前没有人这样做过,所以不会有更优雅的方式来追求这一点吗?
一个类的例子是:
public partial class Person
{
[DataMember]
public Nullable<System.DateTime> Created { get; set; }
[DataMember]
public Nullable<System.DateTime> Modified { get; set; }
}