所以我很确定自己走在正确的轨道上,只需要一些帮助就可以按照我想要的方式实施。所以为了完成这个只读实体,我知道我需要继承EFContextProvider
并覆盖一个方法。我知道我可以通过覆盖SaveChanges
来完成此任务,但我想知道是否应该覆盖Dictionary
属性,而将readonly属性保留在Dictionary
之外。这会影响什么吗?如果是这样,它会产生什么影响?
答案 0 :(得分:1)
我假设您有客户端逻辑,阻止它尝试将更改保存到“只读”实体。这样可以保护服务器,该服务器应拒绝任何试图保存“只读”实体的请求,对吗?
如果是这样的话,我会把EFContextProvider.beforeSaveEntity
中的逻辑放在测试实体是否可以保存的情况下,如果不是则抛出。我经常让我的实体继承自ISaveable
(我的界面)并在我看到一个不是的实体时抛出异常。