如何重写EFContextProvider以创建只读OData实体

时间:2013-05-30 15:29:35

标签: breeze

所以我很确定自己走在正确的轨道上,只需要一些帮助就可以按照我想要的方式实施。所以为了完成这个只读实体,我知道我需要继承EFContextProvider并覆盖一个方法。我知道我可以通过覆盖SaveChanges来完成此任务,但我想知道是否应该覆盖Dictionary属性,而将readonly属性保留在Dictionary之外。这会影响什么吗?如果是这样,它会产生什么影响?

1 个答案:

答案 0 :(得分:1)

我假设您有客户端逻辑,阻止它尝试将更改保存到“只读”实体。这样可以保护服务器,该服务器应拒绝任何试图保存“只读”实体的请求,对吗?

如果是这样的话,我会把EFContextProvider.beforeSaveEntity中的逻辑放在测试实体是否可以保存的情况下,如果不是则抛出。我经常让我的实体继承自ISaveable(我的界面)并在我看到一个不是的实体时抛出异常。