我有从 EF 公开 STE 的 WCF 服务。
[OperationContract, FaultContract(typeof(WarningFault)), FaultContract(typeof(ErrorFault))]
MyEntity GetMyEntityByID(int id);
[OperationContract, FaultContract(typeof(WarningFault)), FaultContract(typeof(ErrorFault))]
MyEntity SaveMyEntity(MyEntity myEntity);
场景如下所示:
- 客户端从 WCF(GetMyEntityByID) 获取实体
- 客户对此实体进行一些更改
- 客户端调用 SaveMyEntity
- 在 WCF 服务中,此特定实体附加到上下文并保存到 db。(并且在保存之前还有一些自定义验证工作。)
由于STE,这工作得很好..
但我注意到,这不是很好的模式。(在 EF 5.0 中,STE 标记为不推荐)
我应该用什么方法来代替这个?如果我理解正确,WCF 数据服务不适合这种工作,因为它们只公开实体。保存、验证等在客户端进行管理。