【发布时间】:2015-11-14 03:41:31
【问题描述】:
我使用的是Database-first EF模型,并使用breezeJs进行客户端数据管理。
假设我的数据库中有一个表 [User],其中包含一个名为“AccessCode”的字段。我想通过微风向客户端公开 User 对象,但不想公开 AccessCode 属性。据我所知,我有以下选择:
- 在 EF 生成的实体类上创建 AccessCode 属性 内部。
- 创建一个 DTO 并设置 AccessCode 属性。 DTO 是 暴露给客户端。
第二个选项不适用于微风,因为我们应该能够直接从客户端添加/修改用户对象。
第一个选项有什么问题吗?我担心的是,如果我们将属性设置为内部,那么下次更新模型时更改将被擦除。我知道如果我们想要强制验证,我们可以将部分类与实体类一起使用,但我们不能在这里这样做。
在这里实现数据隐藏的最佳方法是什么?
【问题讨论】:
标签: entity-framework internal information-hiding